Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

335
Vistas
Java Swing JTextField.getText no devuelve un valor

Actualmente estoy trabajando en un programa que se inserta en una base de datos SQL. Mi inserto funciona bien. Creé una ventana para abrir con 8 JTextFields para que el usuario ingrese su información. Sin embargo, tengo problemas para obtener la información de JTextField. Obtengo valores en blanco cuando intento imprimir, por ejemplo, var1 . ¿Está mal mi sintaxis? -postToTable es un método estático en otra clase que agrega un usuario a la base de datos.

 private void initialize() { textField_FName = new JTextField(); textField_FName.setBounds(239, 32, 130, 26); frame.getContentPane().add(textField_FName); textField_FName.setColumns(10); vari0 = textField_FName.getText(); btnSubmit = new JButton("Submit"); btnSubmit.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { try { JOptionPane.showMessageDialog(null, "('"+vari0+"','"+vari1+"','"+vari2+"','"+vari3+"','"+vari4+"','"+vari5+"','"+vari6+"','"+vari7+"')"); DB_Jpanel.postToTable(vari0,vari1,vari2,vari3,vari4,vari5,vari6,vari7); } catch (Exception e1) { // TODO Auto-generated catch block e1.printStackTrace(); } try { } catch (Exception e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } }); btnSubmit.setBounds(143, 249, 117, 29); frame.getContentPane().add(btnSubmit); } }
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Está extrayendo el texto del JTextField llamando a getText() inmediatamente después de haber creado el JTextField, y mucho antes de que el usuario haya tenido tiempo de colocar texto dentro de él. No es así como funciona la GUI de Swing o cualquier GUI basada en eventos . La clave es comprender cómo funciona la programación impulsada por eventos y, en su lugar, extraer el texto, por ejemplo, llamar a getText() , desde el JTextField en respuesta a un evento, aquí dentro del ActionListener de su botón. Luego, se llamará a este código cuando el usuario presione el botón y, con suerte, después de que haya colocado el texto pertinente dentro del JTextField.

Así que cambia como:

 private void initialize() { textField_FName = new JTextField(); // .... // vari0 = textField_FName.getText(); // ****** remove this ***** btnSubmit = new JButton("Submit"); btnSubmit.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { vari0 = textField_FName.getText(); // ***** add this ****** try { JOptionPane.showMessageDialog(null, "('"+vari0+"','"+vari1+"','"+vari2+"','"+vari3+"','"+vari4+"','"+vari5+"','"+vari6+"','"+vari7+"')"); DB_Jpanel.postToTable(vari0,vari1,vari2,vari3,vari4,vari5,vari6,vari7); } catch (Exception e1) { e1.printStackTrace(); } } }); // ... }

Notas:

  • Puede agregar ActionListeners a más de JButtons y, de hecho, puede agregarlos a JTextFields. Aquí, el oyente se activa cuando el campo de texto tiene el foco del usuario y el usuario presiona la tecla ENTER.
  • Su código parece estar usando diseños nulos y posicionamiento absoluto. Si bien los diseños nulos y setBounds() pueden parecer a los novatos de Swing como la forma más fácil y mejor de crear GUI complejas, cuantas más GUI de Swing cree, más serias serán las dificultades con las que se encontrará al usarlos. No cambiarán el tamaño de sus componentes cuando la GUI cambie de tamaño, son una bruja real para mejorar o mantener, fallan por completo cuando se colocan en paneles de desplazamiento, se ven horribles cuando se ven en todas las plataformas o resoluciones de pantalla que son diferentes de la original. .
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda