AWT has a semi-lightweight approach for *nix platforms. That concerns the focus management
subsystem as well. A lightweight focus means that AWT establishes some restrictions on
setting focus for the native system. Instead, AWT sets focus at certain time on the
component that should gain focus from its perspective.
The restrictions concern setting focus on a particular component in a toplevel window
and in some cases activating a toplevel window.
This approach gives us:
- more flexibility (much less dependance on the native system)
- less error-prone, more clear, easier to debug code (less native code)
- unification b/w XAWT & MSW AWT focus, hence easier to support
- ability to do further refactoring of the whole focus subsystem
Also, implementing this focus model will allow us to resolve such tough problems
like this: 6741987 (6638103 for jdk5). Moreover, we will get quite close to
the "synchronous focus" (6448060).