Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - jzvp321

#1
Java / problema con un JTextField
18 Julio 2018, 20:13 PM
Hola a todos, soy nuevo en el mundo de la programación y estoy aprendiendo a programar un pequeño programa sencillo, que me permita a mi, agregar un texto a través de un JTextField y cuando le de click al boton de saludar, me aparezca en un JOptionPane, el nombre del usuario...

he programado todo y todo me funciona de maravilla, ejecuto el programa, me sale el cuadro, agrego el texto en el JTextField y cuando le doy click al boton, me aparece el JOptionPane pero vacio, y no entiendo porque... yo cree un metodo en la clase del JTextField para pasar esa información a una variable de tipo String, y cree un metodo que me devuelva dicha información de esa varaible, pero cuando la instancio en el JOptionPane, me sale en blanco, así haya escrito lo que sea en el JTextField, adjunto mi código para ver si me pueden hechar una mano...





public class ejercicio {

   public static void main(String[] args) {
      // TODO Auto-generated method stub
      frame a = new frame();
   }

}

class frame extends JFrame {
   public frame(){
      this.setTitle("titulo");
      this.setSize(350, 180);
      this.setResizable(false);
      this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      this.setLocationRelativeTo(null);
      
      // ---- Agregar Paneles
      primerPanel a = new primerPanel();
      this.add(a,BorderLayout.NORTH);
      
      segundoPanel b = new segundoPanel();
      this.add(b,BorderLayout.CENTER);
      
      tercerPanel c = new tercerPanel();
      this.add(c,BorderLayout.SOUTH);
      
      this.setVisible(true);
   }
   
   // primer Panel
   class primerPanel extends JPanel {
      public primerPanel() {
         this.setLayout(new FlowLayout(FlowLayout.CENTER,15,15));
         JLabel titulo = new JLabel("Ingrese un nombre para saludar");
         this.add(titulo);
      }
   }
   
   // segundo Panel
   class segundoPanel extends JPanel {
      private JTextField contenido;
      private String informacion;
      public segundoPanel() {
         this.setLayout(new FlowLayout(FlowLayout.CENTER,15,15));
         contenido = new JTextField(20);
         this.add(contenido);
      }
      public String estableceNombre(){
         return informacion = contenido.getText();
      }
   }
   
   // tercer Panel
   class tercerPanel extends JPanel implements ActionListener {
      
      segundoPanel emisor = new segundoPanel();
      
      public tercerPanel() {
         this.setLayout(new FlowLayout(FlowLayout.CENTER,15,15));
         JButton btn = new JButton("¡Saludar!");
         btn.addActionListener(this);
         this.add(btn);
      }

      @Override
      public void actionPerformed(ActionEvent e) {
         // TODO Auto-generated method stub
         JOptionPane.showMessageDialog(null, "¡Hola "+emisor+"!");
      }
   }
}