Quiero ‘Hola mundo!’ para mostrar cuando el botón es pulsado.
Así que ir a un siguiente ‘marco’, pero en la misma ventana!
Traté de tarjeta de lay-out, pero ¿puede alguien decirme cómo hacerlo con este código;

¿Qué estoy haciendo mal en este código?

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JOptionPane;



public class myTest{

public static void main(String[] args){

JPanel panel = new JPanel();

JButton button1 = new JButton();

frame.add(panel);
panel.add(button1);

  button1.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent arg0) {
        JOptionPane.showMessageDialog(null, "Hello World");

            }
        });

}

}
InformationsquelleAutor Opoe | 2011-03-28

3 Comentarios

  1. 6

    tratar con el código:

    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JOptionPane;
    
    public class myTest {
    
        public static void main(String[] args) {
    
            final JFrame frame = new JFrame();
            JPanel panel = new JPanel();
    
            JButton button1 = new JButton();
    
            frame.add(panel);
            panel.add(button1);
            frame.setVisible(true);
    
            button1.addActionListener(new ActionListener() {
    
                public void actionPerformed(ActionEvent arg0) {
                    JOptionPane.showMessageDialog(frame.getComponent(0), "Hello World");
    
                }
            });
    
        }
    
    }

    Está funcionando como se esperaba.

    O si desea que el mensaje de estar en el mismo Marco, a continuación, intente con este código.

    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import javax.swing.JPanel;
    
    public class myTest {
    
        public static void main(String[] args) {
    
            final JFrame frame = new JFrame();
            JPanel panel = new JPanel();
    
            JButton button1 = new JButton();
    
            final JLabel label = new JLabel("Hello World");
    
            label.setVisible(false);
            frame.add(panel);
            panel.add(button1);
            panel.add(label);
            frame.setVisible(true);
    
            button1.addActionListener(new ActionListener() {
    
                public void actionPerformed(ActionEvent arg0) {
                    //JOptionPane.showMessageDialog(frame.getComponent(0), "Hello World");
                    label.setVisible(true);
                }
            });
    
        }
    
    }
    • Gracias funciona exactamente! Pero me refería en la misma ventana! Lo siento
    • por supuesto, pero me refería a que aparezca el texto en la misma ventana de as en el botón como el siguiente «página»
    • puedes comprobar ahora?
    • Me han dado el código para las maneras de mostrar, comprobar ahora.
    • Explicar el código por favor
  2. 1

    Cambio frame.add(panel); a frame.getContentPane().add(panel); también supongo que usted ha inicializado el marco de la puerta con JFrame frame = new JFrame();

    • gracias por su tiempo, bueno, yo soy un principiante y el de arriba es mi código, ¿también tengo que añadir JFrame frame = new JFrame(); ?
    • De hecho, usted tiene que. El JFrame representa la Ventana. Sin ella, no hay nada que añadir al panel. Ver a @GuruKulki del Código de trabajo.
    • Gracias a todos, he explicado mal, yo quiero que el Hola Mundo aparecen en la misma ventana el botón. Como ir a un siguiente «página»
  3. 0

    Usted debe tener una mejor explicación acerca de su problema, pero la lectura de su código supongo que tu problema es que no estás viendo nada a la hora de ejecutar el programa. Intente agregar las siguientes líneas en el código.

    frame.pack();
    frame.setVisible(true);

Dejar respuesta

Please enter your comment!
Please enter your name here