Article View: es.comp.lenguajes.java
Article #27045Re: Gestion de Eventos
From: Jonathan Revusky
Date: Thu, 05 Nov 1998 00:00
Date: Thu, 05 Nov 1998 00:00
73 lines
3222 bytes
3222 bytes
"�r�oK T�E N�KR0m�nC�R" wrote:
>
> Un saludo a todo el mundo.
>
> Queria comentar a ver si alguien me podria ayudar en una duda que
> me ha surgido en una aplicacion que estoy haciendo.
>
> Tengo una ventana en la cual he introducido un gran numero de
> Textfield's para la introduci�n de datos.Me interesaria que mientras
> vas introduciendo los datos, con el Intro, puedas ir cambiando de
> campo (TextField), por defecto para ir canviando de campo es el TAB,
> pero es mas comodo, intiutivo y elegante, con el Intro, asi que puse
> un bonito keyListener en la ventana para el control de la tecla Intro.
>
> Todo me compila correctamente pero no me efectua el evento
> keyListener, he pensado que podria ser por que en vez de ponerlo en la
> ventana en si, habria que ponerlo en todos los TextFields, �es asi?, �
> no hay algun metodo menos engorroso que poner a cada TextField un
> keyListener ?
> Gracias.
Me parece que tu ventana no puede recibir los KeyEvent. Lo que pasa es
que los TextField los reciben y los procesan y los tragan. No burburjean
hacia arriba.
Si quieres que algo ocurra como consecuencia de un INTRO en un
TextField, lo que debes utilizar es el ActionListener.
Aqu� tienes un m�todo que deber�a hacer lo que quieres. Le das tu
ventana, por ejemplo, como argumento, y a�ade (de modo recursivo si hace
falta) el ActionListener que necesitas a todos los TextFields que
contiene.
public static void addIntroListeners(Container c) {
ActionListener introListener = new ActionListener() {
public void actionPerformed(ActionEvent e) {
Component c = (Component) e.getSource()
c.transferFocus();
}
};
public Component[] components = c.getComponents();
for (int i=0; i<components.length; i++) {
Component comp = components[i];
if (comp instanceof Container) {
addIntroListeners((Container) comp);
}
else if (comp instanceof TextField) {
((TextField) comp).addActionListener(introListener);
}
}
}
Espero que te ayude.
Otra vez, para que la gente lo aproveche. Hay un ensayo sobre el modelo
de eventos del Java 1.1 en mi p�gina web. Es en castellano. Se puede
llegar all� a trav�s del link in my sig abajo.
Y si alguien lee algo en el ensayo que es mal castellano o simplemente
poco claro, por favor d�melo.
Saludos,
Jonathan Revusky
--
Java and Delphi Consulting
Make your .class files double-clickable
with SmartJ
http://www.bigfoot.com/~crystalline.solutions
Technical Details
Message-ID:
<3641D081.938F2C36@jet.es>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<71senu$3al@lilith.uab.es>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: 1116f3,a8db118818ebd858 X-Google-Attributes: gid1116f3,public From: Jonathan Revusky <jrevusky@jet.es> Subject: Re: Gestion de Eventos Date: 1998/11/05 Message-ID: <3641D081.938F2C36@jet.es> X-Deja-AN: 408710235 Content-Transfer-Encoding: 8bit References: <71senu$3al@lilith.uab.es> X-Accept-Language: en Content-Type: text/plain; charset=iso-8859-1 Organization: Telefonica Transmision de Datos Mime-Version: 1.0 Reply-To: jrevusky@bigfoot.com Newsgroups: es.comp.lenguajes.java