No me aparece el String en JTextField aunque si lo contiene

Iniciado por NaTxosS, 29 Noviembre 2014, 11:54 AM

0 Miembros y 1 Visitante están viendo este tema.

NaTxosS

a mi JTextFiel le meto un String con el metotdo .setText(); pero no aparece en la interfaz.
El string le llega porque después de hacer el setText(); he hecho un System.out.print(txtEtiqueta.getText()) y me sale en la consola el string que debería salirme en el JTextField (txtEtiqueta), que en cambio me sale en blanco, ¿porque puede estar pasando esto?

Gracias de antemano
La mejor manera de hacerse optimista es pisando una buena mielda.

AlvRP4104

¡Buenas NaTxosS!

¿Sería posible que estuvieras cambiando el valor de texto de otro JTextField?

Si no, no entiendo que te puede estar pasando, suerte.

NaTxosS

No, eso no es, lo he comprobado, ademas me pasa con 3 JtextField contenidos en el mismo panel que otros JTextField donde me funciona correctamente, la única diferencia que tienen estos 3 con los demás es que el setText lo hago desde un evento de un JDialog (pero no creo que sea por esto, probando hice un método llamado desde este evento que pongo a continuación que es donde esta el problema, al que le pasaba los 3 String pero sigue sin funcionar).
Código (java) [Seleccionar]
private void btnAceptarClientesActionPerformed(java.awt.event.ActionEvent evt) {                                                   
       
        int filaSelecc;
       
        filaSelecc = tblClientes.getSelectedRow();
        if (filaSelecc == -1) {
            JOptionPane.showMessageDialog(null, "Debes seleccionar un cliente");
        } else {
            codCliente = (String)tblClientes.getValueAt(filaSelecc, 0);
            cliente = (String)tblClientes.getValueAt(filaSelecc, 1);
            descuento = (String)tblClientes.getValueAt(filaSelecc, 3);
            txtCodigoCliente.setText(codCliente);
            txtCliente.setText(cliente);
            txtDescuento.setText(descuento);
        }
        dialogoClientes.dispose();
    }   


Gracias
La mejor manera de hacerse optimista es pisando una buena mielda.

AlvRP4104

Si en lugar de coger el texto de la variable le introduces tú uno manualmente, ¿tampoco funciona?

Código (java) [Seleccionar]
...
txtCodigoCliente.setText("Texto de prueba");
...

NaTxosS

La mejor manera de hacerse optimista es pisando una buena mielda.

ivancea96

Asegúrate de que el elemento que ves es el JTextField del que hablas. Fíjate en si tuviese otro elemento encima.

NaTxosS

La mejor manera de hacerse optimista es pisando una buena mielda.

ivancea96


NaTxosS

si, pero los 3 que aparecen en el código que os he pasado no.

A ver, esto es cosa de brujería parece, he vuelto a hacer un método (public void cargarCliente()) que hace los 3 setText() y los 3 string's los he declarado como globales. Este nuevo método lo he llamado desde otro evento dándole otros valores diferentes a los 3 string Y ME APARECEN EN LOS 3 JTextField!!! pero vuelvo a llamarlo desde el evento en cuestión y nada, no aparecen, he hecho un debug, fijaros (en el enlace siguiente) como los watch tienen los valores que deseo que aparezcan en los 3 textField:

http://subefotos.com/ver/?a0051b602fd4c69b07733fb7173eb51ao.jpg

También he hecho breakpoint en cada linea del método cargarCliente() y se siguen manteniendo los string deseados.
La mejor manera de hacerse optimista es pisando una buena mielda.

#!Mitsu

Con permiso ;)

En tu código no veo nada incorrecto. Si dices, que ni metiendo manualmente el String en el TextField lo muestra, lo único que se me ocurre es que dicho else no se está ejecutando.

Trata de colocar un poco más de código en tu próxima respuesta para poder apreciar mejor.