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