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

Reply via email to