Skip navigation links
JNA API 5.6.0
com.sun.jna.platform

Class WindowUtils.NativeWindowUtils

  • Enclosing class:
    WindowUtils


    public abstract static class WindowUtils.NativeWindowUtils
    extends java.lang.Object
    Window utilities with differing native implementations.
    • Method Summary

      All Methods Instance Methods Concrete 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

      • NativeWindowUtils

        public 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
JNA API 5.6.0

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