Foro sobre Java SE > Pregunta JCalendar
El método recomendado es requestFocusInWindow()
http://docs.oracle.com/javase/7/docs/api/java/awt/Component.html#requestFocusInWindow()
choces
gracias choces voy a probar
dannyverm
choces: no se solucionó el problema da lo mismo con requestFocusInWindow()
dannyverm
Prueba con esto, a ver que pasa:
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
txtAdmin.requestFocusInWindow();
}
});
Si funciona bien... me dará mucho en qué pensar :/
choces
choces: me hace lo mismo, que cagada!
aun si le quito el oyente y sin ningún evento hace lo mismo
dannyverm
¿Está ese JTextField en la misma ventana que donde está el foco?
choces
ocurrió algo muy raro, al sacarle el focuslost de un componente como 4 componentes ante se resolvió el problema y funciona perfecto solo con el txtAdmin.requestFocusInWindow(); (Algo muy raro por que ni siquiera hacía referencia a mi txtAdmin el focuslost) te agradezco mucho la paciencia y abusando de tu generosidad será que podes mirar el siguiente hilo, es sobre otro problema que tengo
http://www.javahispano.org/java-se/post/1989211
dannyverm
Depende de lo que hiciese el código dentro de ese focusLost.
La gestión de foco en Swing es... misteriosa, cuando menos :D
choces

tengo un problema con el jdatechooser se selecciona una fecha con el metodo propertychange, en vez de enviar el foco a un jtextfield llamado txtAdmin envía a otro componente ... a este le asigné el texto de prueba "Mi Texto" y sin problema; pero el foco lo envía a otro componente.
Ni con gradFocus ni con requestFocus envía el foco al componente,.
Este es el codigo
private void agregarOyenteFechaEmision() {
txtfecemi.addPropertyChangeListener(
new java.beans.PropertyChangeListener() {
@Override
public void propertyChange(java.beans.PropertyChangeEvent evt) {
if (evt.getPropertyName().compareTo("date") == 0) {
txtAdmin.setText("Mi texto");
txtAdmin.grabFocus();
}
}
});
}