Article View: es.comp.lenguajes.java
Article #585Prioridad en la gestión de eventos
From: Ricardo Palomares Martinez
Date: Tue, 10 Apr 2007 18:57
Date: Tue, 10 Apr 2007 18:57
49 lines
3333 bytes
3333 bytes
Buenas: Tengo un problema con el orden en el que se ejecutan algunos event listeners. Tengo un JInternalFrame (una ventana en una aplicación MDI, vamos) con un aspecto similar al del explorador de archivos de Windows, con un JTree en la parte izquierda con carpetas, y un panel en la derecha con un JTextField para editar una propiedad del objeto subyacente en el nodo seleccionado en el JTree. Así que podría tener lugar la siguiente secuencia de acciones: - Se hace clic en la izquierda para elegir una carpeta - Se dispara un evento TreeValueChanged y el listener de éste debe actualizar el contenido en el panel con datos que pertenecen al nodo (carpeta) recién seleccionado del árbol - Se hace clic en el JTextField en la derecha, y se introduce un valor - Al salir del JTextField (y perder éste el foco), se dispara un evento FocusLost, y el listener correspondiente debe obtener el texto del JTextField y actualizarlo en el objeto subyacente del nodo seleccionado del árbol Esto funciona bien si salgo del campo pulsando [Tab] (lo que me lleva a un JButton que hay debajo del campo de texto). Mi problema surge si, mientras tengo el foco en el campo de texto, hago clic en otro nodo del árbol. En este caso, TreeValueChanged se ejecuta *antes* de LocusFost (lo cual no encuentro lógico; primero se pierde el foco del campo de texto y sólo entonces puede cambiar el valor del nodo seleccionado en el árbol, EMO). Por más que busco, no he podido encontrar ningún documento que indique la prioridad con la que se ejecutan los eventos. He buscado este mismo problema en Internet, en los tutoriales de Java, en los archivos de foros y listas de correo, y en la documentación de JavaHispano.org (*), y no he encontrado nada. Si alguien puede ayudarme a variar el comportamiento, o bien explicarme por qué estoy equivocado al pensar que primero se debe perder el foco de un control y luego ganarlo en otro, le estaré muy agradecido. :-) (*) Por cierto, que en JavaHispano.org necesitan desesperadamente colaboración de los usuarios, casi como nos pasa a otros con nuestras cosas de traducir navegadores (http://www.proyectonave.es/). Debe ser algo ligado al carácter de los españoles... Saludos. -- If it's true that we are here to help others, then what exactly are the OTHERS here for?
Technical Details
Message-ID:
<f93te4-om8.ln1@Father.family>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news4.google.com!out04b.usenetserver.com!news.usenetserver.com!in02.usenetserver.com!news.usenetserver.com!in03.usenetserver.com!news.usenetserver.com!news.germany.com!aioe.org!Father.family!newsShow Full Headers
Complete Article Headers
X-Google-Thread: 1116f3,312b58663d1ade94,start X-Google-Attributes: gid1116f3,public X-Google-Language: SPANISH,ASCII Path: arc1-ca.pugleaf.net!g2news1.google.com!news4.google.com!out04b.usenetserver.com!news.usenetserver.com!in02.usenetserver.com!news.usenetserver.com!in03.usenetserver.com!news.usenetserver.com!news.germany.com!aioe.org!Father.family!news From: Ricardo Palomares Martinez <rpm.PUBLI@iespana.es> Newsgroups: es.comp.lenguajes.java Subject: Prioridad en la gestión de eventos Date: Tue, 10 Apr 2007 20:57:19 +0200 Organization: Hogar, dulce hogar Lines: 49 Message-ID: <f93te4-om8.ln1@Father.family> NNTP-Posting-Host: b9E/NQiv1KZIxHAANrY0qA.user.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: quoted-printable X-Complaints-To: abuse@aioe.org User-Agent: Mozilla/5.0 (X11; U; Linux i686; es-ES; rv:1.8.1.2) Gecko/20070221 SeaMonkey/1.1.1 Mnenhy/0.7.4.0