On the OS X platform, the AWT framework used native services to implement a parent-child relationship for windows. That caused some negative visual effects especially in multi-monitor environments. To get rid of disadvantages of such an approach, the new window ordering model, which is fully implemented at JDK layer, was introduced. Its main principles are listed below:
- A window should be placed above its nearest parent window.
- If a window has several child windows, all child windows should be located at the same layer and the window from the active window chain should be ordered above its siblings.
- Ordering should not be performed for a window that is in an iconified state or when the transition to iconified state is in progress.
These rules are applied to every frame or dialog from the window hierarchy which contains the currently focused window.