🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.lenguajes.java
Article #585

Prioridad en la gestión de eventos

#585
From: Ricardo Palomares Martinez
Date: Tue, 10 Apr 2007 18:57
49 lines
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!news

Show 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