Klasse WindowUtils
Window.
- Non-rectangular shape (bitmap mask, no antialiasing)
- Transparency (constant alpha applied to window contents or transparent background)
- Fully transparent window (the transparency of all painted pixels is applied to the window).
NOTE: Neither shaped windows nor transparency currently works with Java 1.4 under X11. This is at least partly due to 1.4 using multiple X11 windows for a single given Java window. It *might* be possible to remedy by applying the window region/transparency to all descendants, but I haven't tried it. In addition, windows must be both displayable and visible before the corresponding native Drawable may be obtained; in later Java versions, the window need only be displayable.
NOTE: If you use setWindowMask(Window,Shape) and override Window.paint(Graphics) on OS X, you'll need to explicitly set the clip
mask on the Graphics object with the window mask; only the
content pane of the window and below have the window mask automatically
applied.
NOTE: On OSX, the property
apple.awt.draggableWindowBackground is set automatically when
a window's background color has an alpha component. That property must be
set to its final value before the heavyweight peer for the Window
is created. Once Component.addNotify() has been called on the
component, causing creation of the heavyweight peer, changing this
property has no effect.
- Autor:
- Andreas "PAX" Lück, onkelpax-git[at]yahoo.de
- Siehe auch:
-
Verschachtelte Klassen - Übersicht
Verschachtelte KlassenModifizierer und TypKlasseBeschreibungstatic classWindow utilities with differing native implementations.protected static classThis can be installed over aJLayeredPanein order to listen for repaint requests. -
Feldübersicht
Felder -
Konstruktorübersicht
Konstruktoren -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungstatic List<DesktopWindow> getAllWindows(boolean onlyVisibleWindows) Requests a list of all currently available Desktop windows.static GraphicsConfigurationReturns aGraphicsConfigurationcomptible with alpha compositing.static DimensiongetIconSize(WinDef.HICON hIcon) Detects the size of an icon.static StringDetects the full file path of the process associated with the specified window handle.static BufferedImagegetWindowIcon(WinDef.HWND hwnd) Obtains the set icon for the window associated with the specified window handle.static RectangleRequests the location and size of the window associated with the specified window handle.static StringgetWindowTitle(WinDef.HWND hwnd) Tries to obtain the Window's title which belongs to the specified window handle.static booleanIndicate a window can have a global alpha setting.static voidsetComponentMask(Component c, Shape mask) Applies the given mask to the given heavyweight component.static voidsetWindowAlpha(Window w, float alpha) Set the overall window transparency.static voidsetWindowMask(Window w, Shape mask) Applies the given mask to the given window.static voidsetWindowMask(Window w, Icon mask) Applies the given mask to the given window.static voidsetWindowTransparent(Window w, boolean transparent) Set the window to be transparent.
-
Felddetails
-
MASK_NONE
Use this to clear a window mask.
-
-
Konstruktordetails
-
WindowUtils
public WindowUtils()
-
-
Methodendetails
-
setWindowMask
Applies the given mask to the given window. Does nothing if the operation is not supported. The mask is treated as a bitmap and ignores transparency. -
setComponentMask
Applies the given mask to the given heavyweight component. Does nothing if the operation is not supported. The mask is treated as a bitmap and ignores transparency. -
setWindowMask
Applies the given mask to the given window. Does nothing if the operation is not supported. The mask is treated as a bitmap and ignores transparency. -
isWindowAlphaSupported
public static boolean isWindowAlphaSupported()Indicate a window can have a global alpha setting. -
getAlphaCompatibleGraphicsConfiguration
Returns aGraphicsConfigurationcomptible with alpha compositing. -
setWindowAlpha
Set the overall window transparency. An alpha of 1.0 is fully opaque, 0.0 fully transparent. The alpha level is applied equally to all window pixels.NOTE: Windows requires that
sun.java2d.noddraw=truein order for alpha to work.NOTE: On OSX, the property
apple.awt.draggableWindowBackgroundmust be set to its final value before the heavyweight peer for the Window is created. OnceComponent.addNotify()has been called on the component, causing creation of the heavyweight peer, changing this property has no effect.- Siehe auch:
-
setWindowTransparent
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. On OSX, the propertyapple.awt.draggableWindowBackgroundmust be set to its final value before the heavyweight peer for the Window is created. OnceComponent.addNotify()has been called on the component, causing creation of the heavyweight peer, changing this property has no effect.- Siehe auch:
-
getWindowIcon
Obtains the set icon for the window associated with the specified window handle.- Parameter:
hwnd- The concerning window handle.- Gibt zurück:
- Either the window's icon or
nullif an error occurred.
-
getIconSize
Detects the size of an icon.- Parameter:
hIcon- The icon handle type.- Gibt zurück:
- Either the requested icon's dimension or an
Dimensioninstance of(0, 0).
-
getAllWindows
Requests a list of all currently available Desktop windows.- Parameter:
onlyVisibleWindows- Specifies whether only currently visible windows will be considered (true). That are windows which are not minimized. TheWS_VISIBLEflag will be checked (see: User32.IsWindowVisible(HWND)).- Gibt zurück:
- A list with all windows and some detailed information.
-
getWindowTitle
Tries to obtain the Window's title which belongs to the specified window handle.- Parameter:
hwnd- The concerning window handle.- Gibt zurück:
- Either the title or an empty string of no title was found or an error occurred.
-
getProcessFilePath
Detects the full file path of the process associated with the specified window handle.- Parameter:
hwnd- The concerning window handle for which the PE file path is required.- Gibt zurück:
- The full file path of the PE file that is associated with the specified window handle.
-
getWindowLocationAndSize
Requests the location and size of the window associated with the specified window handle.- Parameter:
hwnd- The concerning window handle.- Gibt zurück:
- The location and size of the window.
-