Foro de elhacker.net

Programación => Java => Mensaje iniciado por: Roboto en 21 Noviembre 2011, 12:58 pm



Título: nombre elementos eventos
Publicado por: Roboto en 21 Noviembre 2011, 12:58 pm
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


Título: Re: nombre elementos eventos
Publicado por: adastra en 21 Noviembre 2011, 13:12 pm
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).


Título: Re: nombre elementos eventos
Publicado por: Roboto en 22 Noviembre 2011, 12:40 pm
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