Foros del Web » Programación para mayores de 30 ;) » Java »

Por que este metodo no funciona - Netbeans

Estas en el tema de Por que este metodo no funciona - Netbeans en el foro de Java en Foros del Web. Estoy trabajando en java netbeans Código: package funcionesformulario; public class FuncionesFormulario { public static void main(String[] args) { iniciarCiclo(); } public void iniciarCiclo() { int ...
  #1 (permalink)  
Antiguo 28/12/2011, 10:50
Avatar de soy_nicanor  
Fecha de Ingreso: mayo-2010
Mensajes: 374
Antigüedad: 13 años, 11 meses
Puntos: 3
Por que este metodo no funciona - Netbeans

Estoy trabajando en java netbeans

Código:
package funcionesformulario;
public class FuncionesFormulario
{
    public static void main(String[] args)
    {
        iniciarCiclo();
    }
    public void iniciarCiclo()
    {
        int x=0;
        while(x!=7)
{
        System.out.println("X vale: "+x);
        x++;
}
    }
}
Este parte me indica error iniciarCiclo();

No compila no funciona


//////////

Última edición por soy_nicanor; 28/12/2011 a las 11:09
  #2 (permalink)  
Antiguo 28/12/2011, 11:30
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Por que este metodo no funciona - Netbeans

No puedes llamar al metodo iniciarCiclo() directamente desde un metodo estatico (main).

Debes primero hacer una instancia de tu clase y luego llamar al metodo.

Código Javascript:
Ver original
  1. FuncionesFormulario ff = new FuncionesFormulario();
  2. ff.iniciarCiclo();
  #3 (permalink)  
Antiguo 28/12/2011, 11:40
Avatar de soy_nicanor  
Fecha de Ingreso: mayo-2010
Mensajes: 374
Antigüedad: 13 años, 11 meses
Puntos: 3
Respuesta: Por que este metodo no funciona - Netbeans

Gracias Ronruby

Una preguntita

Código:
package funcionesformulario;
public class FuncionesFormulario
{
    public static void main(String[] args)
    {
        FuncionesFormulario ff = new FuncionesFormulario();
        ff.iniciarCiclo();
        //iniciarCiclo();
    }
    public void iniciarCiclo()
    {
        int x=0;
        while(x!=3)
        {
            System.out.println("X vale: "+x);
            x++;            
        }        
    }
}
Como puedo llamar el metodo iniciarCiclo si se encuentra en otro clase
  #4 (permalink)  
Antiguo 28/12/2011, 11:42
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: Por que este metodo no funciona - Netbeans

Simplemente con el nombre de la clase, en este caso era FuncionesFormulario. Y en ese ejemplo sencillo, quizá hubiera sido mejor usar un método estatico.

Saludos
__________________
Grupo Telegram Docker en Español
  #5 (permalink)  
Antiguo 28/12/2011, 11:43
Avatar de soy_nicanor  
Fecha de Ingreso: mayo-2010
Mensajes: 374
Antigüedad: 13 años, 11 meses
Puntos: 3
Respuesta: Por que este metodo no funciona - Netbeans

Algo asi creo:
Código:
package funcionesformulario;
public class FuncionesFormulario
{
    public static void main(String[] args)
    {
        FuncionesFormulario ff = new FuncionesFormulario();
        ff.iniciarCiclo();
        //iniciarCiclo();
    }
}
Código:
package funcionesformulario;
public class Bucle 
{
    public static void iniciarCiclo()
    {
        int x=0;
        while(x!=4)
        {
            System.out.println("X vale: "+x);
            x++;            
        }        
    } 
}
  #6 (permalink)  
Antiguo 28/12/2011, 11:47
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: Por que este metodo no funciona - Netbeans

No, se usa el nombre de la clase, en este último código es Bucle. Y si vas a poner el método cómo estático no necesitas instanciar la clase, puedes acceder directo ( Bucle.iniciarCiclo(); ).

Saludos
__________________
Grupo Telegram Docker en Español
  #7 (permalink)  
Antiguo 28/12/2011, 12:22
Avatar de soy_nicanor  
Fecha de Ingreso: mayo-2010
Mensajes: 374
Antigüedad: 13 años, 11 meses
Puntos: 3
Respuesta: Por que este metodo no funciona - Netbeans

Si funca Gracias
Ahora quiero poner botones en la clase Bucle

Quiero colocarlo este formulario en la clase Bucle y luego jalarlo

Código:
package funcionesformulario;

/**
 *
 * @author nike
 */
public class Formulario extends javax.swing.JFrame 
{

    /** Creates new form Formulario */
    public Formulario() 
    {
        initComponents();
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">
    private void initComponents() {

        jButton1 = new javax.swing.JButton();
        jButton2 = new javax.swing.JButton();
        jButton3 = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jButton1.setText("jButton1");

        jButton2.setText("jButton2");

        jButton3.setText("Salir");
        jButton3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton3ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(53, 53, 53)
                .addComponent(jButton1)
                .addGap(52, 52, 52)
                .addComponent(jButton2)
                .addGap(18, 18, 18)
                .addComponent(jButton3)
                .addContainerGap(78, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(105, 105, 105)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jButton1)
                    .addComponent(jButton2)
                    .addComponent(jButton3))
                .addContainerGap(172, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>

    private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
        // TODO add your handling code here:
        System.exit(0);
    }

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {

            public void run() {
                new Formulario().setVisible(true);
            }
        });
    }
    // Variables declaration - do not modify
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;
    private javax.swing.JButton jButton3;
    // End of variables declaration
}
Como Capturo solo los botones y Ponerlo en la Clase Bucle
  #8 (permalink)  
Antiguo 28/12/2011, 12:27
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: Por que este metodo no funciona - Netbeans

De la misma manera solo que tienes que ponerlo dentro del método jButton3ActionPerformed. Recomiendo que leas un manual Básico de Java ahí viene todo esto.

Saludos.adios:
__________________
Grupo Telegram Docker en Español

Etiquetas: metodo, netbeans, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:53.