Package com.explodingpixels.widgets

## Class WindowUtils

- java.lang.Object
- - com.explodingpixels.widgets.WindowUtils

    public class WindowUtils
    extends java.lang.Object

Utility methods for dealing with `Window`s.

### Constructor Summary

Constructors
`WindowUtils()`

### Method Summary

All Methods Static Methods Concrete Methods Deprecated Methods
`static java.awt.event.WindowFocusListener` `createAndInstallRepaintWindowFocusListener​(java.awt.Window window)` Deprecated. use the more targeted `installJComponentRepainterOnWindowFocusChanged(JComponent)` method.
`static void` `installJComponentRepainterOnWindowFocusChanged​(javax.swing.JComponent component)` Installs a listener on the given `JComponent`'s parent `Window` that repaints the given component when the parent window's focused state changes.
`static void` `installWeakWindowFocusListener​(javax.swing.JComponent component, java.awt.event.WindowFocusListener focusListener)` Installs a `WindowFocusListener` on the given `JComponent`'s parent `Window`.
`static boolean` `isParentWindowFocused​(java.awt.Component component)` `true` if the given `Component`'s has a parent `Window` (i.e.
`static void` `makeWindowNonOpaque​(java.awt.Window window)` Try's to make the given `Window` non-opqaue (transparent) across platforms and JREs.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### WindowUtils

    public WindowUtils()

### Method Detail

#### makeWindowNonOpaque

    public static void makeWindowNonOpaque​(java.awt.Window window)

Try's to make the given `Window` non-opqaue (transparent) across platforms and JREs. This method is not guaranteed to succeed, and will fail silently if the given `Window` cannot be made non-opaque.

This method is useful, for example, when creating a HUD style window that is semi-transparent, and thus doesn't want the window background to be drawn.

Parameters:
  `window` - the `Window` to make non-opaque.

#### createAndInstallRepaintWindowFocusListener

    @Deprecated
    public static java.awt.event.WindowFocusListener createAndInstallRepaintWindowFocusListener​(java.awt.Window window)

Deprecated.
use the more targeted `installJComponentRepainterOnWindowFocusChanged(JComponent)` method.
Creates and installs a `WindowFocusListener` on the given `Window` which calls the `Window`'s `repaint()` method on focus state changes.

Parameters:
  `window` - the `Window` to repaint on focus state changes.
Returns:
  the listener installed.

#### isParentWindowFocused

    public static boolean isParentWindowFocused​(java.awt.Component component)

`true` if the given `Component`'s has a parent `Window` (i.e. it's not null) and that `Window` is currently active (focused).

Parameters:
  `component` - the `Component` to check the parent `Window`'s focus for.
Returns:
  `true` if the given `Component`'s parent `Window` is currently active.

#### installWeakWindowFocusListener

    public static void installWeakWindowFocusListener​(javax.swing.JComponent component,
                                                      java.awt.event.WindowFocusListener focusListener)

Installs a `WindowFocusListener` on the given `JComponent`'s parent `Window`. If the `JComponent` doesn't yet have a parent, then the listener will be installed when the component is added to a container.

Parameters:
  `component` - the component who's parent frame to listen to focus changes on.
  `focusListener` - the `WindowFocusListener` to notify when focus changes.

#### installJComponentRepainterOnWindowFocusChanged

    public static void installJComponentRepainterOnWindowFocusChanged​(javax.swing.JComponent component)

Installs a listener on the given `JComponent`'s parent `Window` that repaints the given component when the parent window's focused state changes. If the given component does not have a parent at the time this method is called, then an ancestor listener will be installed that installs a window listener when the components parent changes.

Parameters:
  `component` - the `JComponent` to add the repaint focus listener to.