nombre elementos eventos

Iniciado por Roboto, 21 Noviembre 2011, 12:58 PM

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

Roboto

tengo una duda,tiene k haberla por internet,pero no se como buscarla.
os lo pongo aki.


me creo un textbox

JTextField tx1=new JTextField(10);

le doy el focuslistener

tx1.addFocusListener(this);

luego abajo,en el metodo listener


public void focusLost(FocusEvent e) {

}


mi duda es,si yo agrego el foco a otro textbox.


tx1.addFocusListener(this);
tx2.addFocusListener(this);


luego en el metodo focuslost,como se yo que componeneto lo pierde???
me explico, no existe alguna funcion tipo  e.getName(); que me devuelva el nombre del componente que pierde/gana el foco???

k me devuelva (" tx1 ").


esk no logro encontrarlo

adastra

Esto es lo que tiene el FocusEvent
http://download.oracle.com/javase/1.4.2/docs/api/java/awt/event/FocusEvent.html

Como puedes ver, viene heredado el metodo getComponent() que te retorna el componente que ha disparado el evento.

Esto es lo que tiene la clase Component
http://download.oracle.com/javase/1.4.2/docs/api/java/awt/Component.html

Como puedes ver tiene el método  getName().

Por ende:

e.getComponent().getName()

Te retornará el nombre del elemento.

(Esto viene desde antes de la 1.4, te funcionará para casi cualquier versión de Java, excepto para versiones demasiado antiguas).

Roboto

si,es con el getName().

sabes cual era el problema.que yo definia un textbox

JTextField tx1=new .......

y keria k me devolviera tx1.

Luego,mas tarde me di cuenta que tenia k hacer el tx1.setName.
ese era mi problema,una vez creado el elemento,no le daba un nombre,pensaba k el propio programa lo hacia solo.


THX