<Swing Dev> Weird focus problem with JTextField

Pavel Porvatov pavel.porvatov at oracle.com
Sat Jul 30 08:52:44 UTC 2011


Hi Clemens,
> Hi,
>
> I've developed a database applet where Swing widgets are connected to 
> RowSets using the SwingSet library (an old sourceforge project).
> All queries are executed on the EDT, except for some background tasks 
> which sync with the UI using SwingUtilities.invokeLater().
>
> When running the application over high-latency connections (EDT is 
> busy for a few seconds), sometimes after a pending operation is 
> finished I can't edit any JTextFields. The mouse-cursor changes when I 
> move it over the JTextField, but when I click into the JTextField the 
> carret simply does not appear - everything else (JMenu, JButtons, ...) 
> works as expected - so I guess event delevery is still working as 
> expected.
> To make JTextField-editing work again, I have to transfer focus to 
> another native window and back to the browser-window. A heavyweight 
> JMenu makes it work again too, whereas a lightweight one doesn't help.
>
> Even worse, the problem does not manifest itself with low-latency 
> connections or when running as application.
>
> I am completly puzzled :/
> Any idea what could be the problem, or where / what for I should start 
> looking?
First of all it's not a good idea to keep the EDT thread busy for a long 
time and I think the best way is to rewrite application.  Could you 
please make a small separated application that emulates EDT blocking and 
shows the problem?

Regards, Pavel



More information about the swing-dev mailing list