2012-02-08 28 views
5

Estoy implementando una versión especializada de JTextField y quiero empacarlo en un bean propio. El frijol funciona bastante bien hasta ahora. Aquí está mi pregunta:¿Mostrar evento para JTextField en Java?

¿Cómo puedo detectar cuándo se muestra JTextField? Para que pueda iniciar algunas cosas gráficas cada vez que se muestran los campos.

El evento ShowComponent no funciona para mí. FocusGained y FocusLost funciona bien.

Espero que haya alguien que sepa la solución a esto.

Respuesta

4
+0

o addComponentListener (...) para realizar un seguimiento de los cambios en la visibilidad – alex

+0

@alex - en su mayoría no ayuda: un componenteEvent se activa cuando el estado de la propiedad visible cambia. Como esa propiedad es verdadera por defecto, no se dispara cuando la esperamos intuitivamente :-) – kleopatra

+0

¡muchas gracias por la rápida respuesta! – salocinx

2

Durante el uso de un ComponentListener y haciendo cosas en su componentShown intuitivamente parece ser el camino a seguir, no ayuda: se dispara cuando se cambia la propiedad visible del componente. Esa propiedad es verdadera por defecto (incluso si aún no se ha agregado a ningún contenedor que se muestra en la pantalla) y, por consiguiente, no se activó nada en mostrar ...

En su lugar, use un AncestorListener y haga lo que necesite en su antecesorAdded.

+0

+1 excluyendo ---> por favor pregunte, por qué razón en este mundo usted sugirió agregar Ancestro a la J (Formateado) TextField – mKorbel

+0

@mKorbel no entiendo lo que quiere decir: la pregunta (como lo entendí, podría estar equivocada) es recibir una notificación cuando se muestre el campo (también conocido como: agregado) – kleopatra

+0

hmmm gracias, tengo que probar lo que sucederá agregue J (Formateado) TextField al contenedor un_visible antes, luego para mostrar este contenedor – mKorbel

Cuestiones relacionadas