Class WindowUtils.NativeWindowUtils

  • Enclosing class:
    WindowUtils

    public abstract static class WindowUtils.NativeWindowUtils
    extends Object
    Window utilities with differing native implementations.
    • Constructor Detail

      • NativeWindowUtils

        public NativeWindowUtils()
    • Method Detail

      • whenDisplayable

        protected void whenDisplayable​(Component w,
                                       Runnable action)
        Execute the given action when the given window becomes displayable.
      • setWindowAlpha

        public void setWindowAlpha​(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 GraphicsConfiguration getAlphaCompatibleGraphicsConfiguration()
        Return the default graphics configuration.
      • setWindowTransparent

        public void setWindowTransparent​(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​(Component root,
                                         boolean buffered)
      • setLayersTransparent

        protected void setLayersTransparent​(Window w,
                                            boolean transparent)
      • setMask

        protected void setMask​(Component c,
                               Raster raster)
        Override this method to provide bitmap masking of the given heavyweight component.
      • setWindowMask

        protected void setWindowMask​(Component w,
                                     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​(Component w,
                                  Shape mask)
        Set the window mask based on a Shape.
      • setWindowMask

        public void setWindowMask​(Component w,
                                  Icon mask)
        Set the window mask based on an Icon. All non-transparent pixels will be included in the mask.
      • setForceHeavyweightPopups

        protected void setForceHeavyweightPopups​(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 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:
        UnsupportedOperationException - Thrown if this method wasn't yet implemented for the current platform.
      • getIconSize

        protected 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:
        UnsupportedOperationException - Thrown if this method wasn't yet implemented for the current platform.
      • getAllWindows

        protected 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:
        UnsupportedOperationException - Thrown if this method wasn't yet implemented for the current platform.
      • getWindowTitle

        protected 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:
        UnsupportedOperationException - Thrown if this method wasn't yet implemented for the
      • getProcessFilePath

        protected 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:
        UnsupportedOperationException - Thrown if this method wasn't yet implemented for the
      • getWindowLocationAndSize

        protected 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:
        UnsupportedOperationException - Thrown if this method wasn't yet implemented for the