For example, if you don't explicitly call the java.awt.Toolkit.sync() method after updating the UI state (which according to the docs "is useful for animation"), Swing will in my experience introduce seemingly random delays and UI lag because it just doesn't bother sending the UI updates to the window system.
Eclipse uses SWT instead, which wraps the platform's native widgets.
This might be specific to X11. The initial size of the window is miscalculated when it first opens and a moment later changes by a few pixels, causing the contents to visually shift slightly. This happens with dialog windows the first time they're opened.
> windows do have minimum sizes
My mistake, I meant maximum size.
> and I haven't seen any focus bugs
I was being a bit vague because I've seen lots of different focus bugs on different platforms both decades ago and very recently. For example, it used to be that on Windows, the focus would change to the wrong window if you alt-tabbed too quickly. On X11, very recently, I've ended up in states where the window somehow has focus but not keyboard focus, among other things.
In Sun's own Wireless Toolkit (for J2ME development), which was a Swing application, the keyboard navigation didn't work until you opened a dialog window for the first time, after which it started working.
I thought it was because they could copy chromium.
Which inputs are getting latency? The keyboard? The files?
> the non blocking nature
You’ve literally argued against yourself without realizing.
But God help you if you have to change the code. Async threads are a way to organize it and make it workable for humans.
Absolutely not