com.sun.jna.platform

## Class WindowUtils.NativeWindowUtils

- java.lang.Object
- - com.sun.jna.platform.WindowUtils.NativeWindowUtils

- Enclosing class:
    WindowUtils

      public abstract static class WindowUtils.NativeWindowUtils
      extends java.lang.Object

  Window utilities with differing native implementations.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `protected class` | `WindowUtils.NativeWindowUtils.TransparentContentPane`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `WindowUtils.NativeWindowUtils()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected java.util.List<DesktopWindow>` | `getAllWindows(boolean onlyVisibleWindows)` Requests a list of all currently available Desktop windows.
    `java.awt.GraphicsConfiguration` | `getAlphaCompatibleGraphicsConfiguration()` Return the default graphics configuration.
    `protected java.awt.Dimension` | `getIconSize(WinDef.HICON hIcon)` Detects the size of an icon.
    `protected java.lang.String` | `getProcessFilePath(WinDef.HWND hwnd)` Detects the full file path of the process associated with the specified window handle.
    `protected java.awt.Window` | `getWindow(java.awt.Component c)`
    `protected java.awt.image.BufferedImage` | `getWindowIcon(WinDef.HWND hwnd)` Obtains the set icon for the window associated with the specified window handle.
    `protected java.awt.Rectangle` | `getWindowLocationAndSize(WinDef.HWND hwnd)` Requests the location and size of the window associated with the specified window handle.
    `protected java.lang.String` | `getWindowTitle(WinDef.HWND hwnd)` Tries to obtain the Window's title which belongs to the specified window handle.
    `boolean` | `isWindowAlphaSupported()` Default: no support.
    `protected void` | `setDoubleBuffered(java.awt.Component root, boolean buffered)`
    `protected void` | `setForceHeavyweightPopups(java.awt.Window w, boolean force)` Use this method to ensure heavyweight popups are used in conjunction with a given window.
    `protected void` | `setLayersTransparent(java.awt.Window w, boolean transparent)`
    `protected void` | `setMask(java.awt.Component c, java.awt.image.Raster raster)` Override this method to provide bitmap masking of the given heavyweight component.
    `void` | `setWindowAlpha(java.awt.Window w, float alpha)` Set the overall alpha transparency of the window.
    `void` | `setWindowMask(java.awt.Component w, javax.swing.Icon mask)` Set the window mask based on an Icon.
    `protected void` | `setWindowMask(java.awt.Component w, java.awt.image.Raster raster)` Set the window mask based on the given Raster, which should be treated as a bitmap (zero/nonzero values only).
    `void` | `setWindowMask(java.awt.Component w, java.awt.Shape mask)` Set the window mask based on a `Shape`.
    `void` | `setWindowTransparent(java.awt.Window w, boolean transparent)` Set the window to be transparent.
    `protected java.awt.image.Raster` | `toRaster(java.awt.Component c, javax.swing.Icon mask)`
    `protected java.awt.image.Raster` | `toRaster(java.awt.Shape mask)`
    `protected java.awt.Shape` | `toShape(java.awt.image.Raster raster)`
    `protected void` | `whenDisplayable(java.awt.Component w, java.lang.Runnable action)` Execute the given action when the given window becomes displayable.

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

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

- - ### Constructor Detail

    - #### WindowUtils.NativeWindowUtils

          public WindowUtils.NativeWindowUtils()

  - ### Method Detail

    - #### getWindow

          protected java.awt.Window getWindow(java.awt.Component c)

    - #### whenDisplayable

          protected void whenDisplayable(java.awt.Component w,
                             java.lang.Runnable action)

      Execute the given action when the given window becomes displayable.

    - #### toRaster

          protected java.awt.image.Raster toRaster(java.awt.Shape mask)

    - #### toRaster

          protected java.awt.image.Raster toRaster(java.awt.Component c,
                                       javax.swing.Icon mask)

    - #### toShape

          protected java.awt.Shape toShape(java.awt.image.Raster raster)

    - #### setWindowAlpha

          public void setWindowAlpha(java.awt.Window w,
                            float alpha)

      Set the overall alpha transparency of the window. An alpha of 1.0 is fully opaque, 0.0 is fully transparent.

    - #### isWindowAlphaSupported

          public boolean isWindowAlphaSupported()

      Default: no support.

    - #### getAlphaCompatibleGraphicsConfiguration

          public java.awt.GraphicsConfiguration getAlphaCompatibleGraphicsConfiguration()

      Return the default graphics configuration.

    - #### setWindowTransparent

          public void setWindowTransparent(java.awt.Window w,
                                  boolean transparent)

      Set the window to be transparent. Only explicitly painted pixels will be non-transparent. All pixels will be composited with whatever is under the window using their alpha values.

    - #### setDoubleBuffered

          protected void setDoubleBuffered(java.awt.Component root,
                               boolean buffered)

    - #### setLayersTransparent

          protected void setLayersTransparent(java.awt.Window w,
                                  boolean transparent)

    - #### setMask

          protected void setMask(java.awt.Component c,
                     java.awt.image.Raster raster)

      Override this method to provide bitmap masking of the given heavyweight component.

    - #### setWindowMask

          protected void setWindowMask(java.awt.Component w,
                           java.awt.image.Raster raster)

      Set the window mask based on the given Raster, which should be treated as a bitmap (zero/nonzero values only). A value of `null` means to remove the mask.

    - #### setWindowMask

          public void setWindowMask(java.awt.Component w,
                           java.awt.Shape mask)

      Set the window mask based on a `Shape`.

    - #### setWindowMask

          public void setWindowMask(java.awt.Component w,
                           javax.swing.Icon mask)

      Set the window mask based on an Icon. All non-transparent pixels will be included in the mask.

    - #### setForceHeavyweightPopups

          protected void setForceHeavyweightPopups(java.awt.Window w,
                                       boolean force)

      Use this method to ensure heavyweight popups are used in conjunction with a given window. This prevents the window's alpha setting or mask region from being applied to the popup.

    - #### getWindowIcon

          protected java.awt.image.BufferedImage getWindowIcon(WinDef.HWND hwnd)

      Obtains the set icon for the window associated with the specified window handle.
      Parameters:
        `hwnd` - The concerning window handle.
      Returns:
        Either the window's icon or `null` if an error occurred.
      Throws:
        `java.lang.UnsupportedOperationException` - Thrown if this method wasn't yet implemented for the current platform.

    - #### getIconSize

          protected java.awt.Dimension getIconSize(WinDef.HICON hIcon)

      Detects the size of an icon.
      Parameters:
        `hIcon` - The icon handle type.
      Returns:
        Either the requested icon's dimension or an `Dimension` instance of `(0, 0)`.
      Throws:
        `java.lang.UnsupportedOperationException` - Thrown if this method wasn't yet implemented for the current platform.

    - #### getAllWindows

          protected java.util.List<DesktopWindow> getAllWindows(boolean onlyVisibleWindows)

      Requests a list of all currently available Desktop windows.
      Parameters:
        `onlyVisibleWindows` - Specifies whether only currently visible windows will be considered (`true`). That are windows which are not minimized. The `WS_VISIBLE` flag will be checked (see: User32.IsWindowVisible(HWND)).
      Returns:
        A list with all windows and some detailed information.
      Throws:
        `java.lang.UnsupportedOperationException` - Thrown if this method wasn't yet implemented for the current platform.

    - #### getWindowTitle

          protected java.lang.String getWindowTitle(WinDef.HWND hwnd)

      Tries to obtain the Window's title which belongs to the specified window handle.
      Parameters:
        `hwnd` - The concerning window handle.
      Returns:
        Either the title or an empty string of no title was found or an error occurred.
      Throws:
        `java.lang.UnsupportedOperationException` - Thrown if this method wasn't yet implemented for the

    - #### getProcessFilePath

          protected java.lang.String getProcessFilePath(WinDef.HWND hwnd)

      Detects the full file path of the process associated with the specified window handle.
      Parameters:
        `hwnd` - The concerning window handle for which the PE file path is required.
      Returns:
        The full file path of the PE file that is associated with the specified window handle.
      Throws:
        `java.lang.UnsupportedOperationException` - Thrown if this method wasn't yet implemented for the

    - #### getWindowLocationAndSize

          protected java.awt.Rectangle getWindowLocationAndSize(WinDef.HWND hwnd)

      Requests the location and size of the window associated with the specified window handle.
      Parameters:
        `hwnd` - The concerning window handle.
      Returns:
        The location and size of the window.
      Throws:
        `java.lang.UnsupportedOperationException` - Thrown if this method wasn't yet implemented for the

Copyright © 2007-2016 Timothy Wall. All Rights Reserved.