当前位置: 首页>>代码示例>>Java>>正文


Java WindowPeer.applyShape方法代码示例

本文整理汇总了Java中java.awt.peer.WindowPeer.applyShape方法的典型用法代码示例。如果您正苦于以下问题:Java WindowPeer.applyShape方法的具体用法?Java WindowPeer.applyShape怎么用?Java WindowPeer.applyShape使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在java.awt.peer.WindowPeer的用法示例。


在下文中一共展示了WindowPeer.applyShape方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: setShape

import java.awt.peer.WindowPeer; //导入方法依赖的package包/类
/**
 * Sets the shape of the window.
 * <p>
 * Setting a shape cuts off some parts of the window. Only the parts that
 * belong to the given {@link Shape} remain visible and clickable. If
 * the shape argument is {@code null}, this method restores the default
 * shape, making the window rectangular on most platforms.
 * <p>
 * The following conditions must be met to set a non-null shape:
 * <ul>
 * <li>The {@link GraphicsDevice.WindowTranslucency#PERPIXEL_TRANSPARENT
 * PERPIXEL_TRANSPARENT} translucency must be supported by the
 * underlying system
 * <li>The window must be undecorated (see {@link Frame#setUndecorated}
 * and {@link Dialog#setUndecorated})
 * <li>The window must not be in full-screen mode (see {@link
 * GraphicsDevice#setFullScreenWindow(Window)})
 * </ul>
 * <p>
 * If the requested shape is not {@code null}, and any of the above
 * conditions are not met, the shape of this window will not change,
 * and either the {@code UnsupportedOperationException} or {@code
 * IllegalComponentStateException} will be thrown.
 * <p>
 * The translucency levels of individual pixels may also be effected by the
 * alpha component of their color (see {@link Window#setBackground(Color)}) and the
 * opacity value (see {@link #setOpacity(float)}). See {@link
 * GraphicsDevice.WindowTranslucency} for more details.
 *
 * @param shape the shape to set to the window
 *
 * @throws IllegalComponentStateException if the shape is not {@code
 *     null} and the window is decorated
 * @throws IllegalComponentStateException if the shape is not {@code
 *     null} and the window is in full-screen mode
 * @throws UnsupportedOperationException if the shape is not {@code
 *     null} and {@link GraphicsDevice.WindowTranslucency#PERPIXEL_TRANSPARENT
 *     PERPIXEL_TRANSPARENT} translucency is not supported
 *
 * @see Window#getShape()
 * @see Window#setBackground(Color)
 * @see Window#setOpacity(float)
 * @see Frame#isUndecorated
 * @see Dialog#isUndecorated
 * @see GraphicsDevice.WindowTranslucency
 * @see GraphicsDevice#isWindowTranslucencySupported(GraphicsDevice.WindowTranslucency)
 *
 * @since 1.7
 */
public void setShape(Shape shape) {
    synchronized (getTreeLock()) {
        if (shape != null) {
            GraphicsConfiguration gc = getGraphicsConfiguration();
            GraphicsDevice gd = gc.getDevice();
            if (gc.getDevice().getFullScreenWindow() == this) {
                throw new IllegalComponentStateException(
                    "Setting shape for full-screen window is not supported.");
            }
            if (!gd.isWindowTranslucencySupported(
                    GraphicsDevice.WindowTranslucency.PERPIXEL_TRANSPARENT))
            {
                throw new UnsupportedOperationException(
                    "PERPIXEL_TRANSPARENT translucency is not supported.");
            }
        }
        this.shape = (shape == null) ? null : new Path2D.Float(shape);
        WindowPeer peer = (WindowPeer)getPeer();
        if (peer != null) {
            peer.applyShape(shape == null ? null : Region.getInstance(shape, null));
        }
    }
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:73,代码来源:Window.java

示例2: setShape

import java.awt.peer.WindowPeer; //导入方法依赖的package包/类
/**
 * Sets the shape of the window.
 * <p>
 * Setting a shape cuts off some parts of the window. Only the parts that
 * belong to the given {@link Shape} remain visible and clickable. If
 * the shape argument is {@code null}, this method restores the default
 * shape, making the window rectangular on most platforms.
 * <p>
 * The following conditions must be met to set a non-null shape:
 * <ul>
 * <li>The {@link GraphicsDevice.WindowTranslucency#PERPIXEL_TRANSPARENT
 * PERPIXEL_TRANSPARENT} translucency must be supported by the
 * underlying system
 * <li>The window must be undecorated (see {@link Frame#setUndecorated}
 * and {@link Dialog#setUndecorated})
 * <li>The window must not be in full-screen mode (see {@link
 * GraphicsDevice#setFullScreenWindow(Window)})
 * </ul>
 * <p>
 * If the requested shape is not {@code null}, and any of the above
 * conditions are not met, the shape of this window will not change,
 * and either the {@code UnsupportedOperationException} or {@code
 * IllegalComponentStateException} will be thrown.
 * <p>
 * The translucency levels of individual pixels may also be effected by the
 * alpha component of their color (see {@link Window#setBackground(Color)}) and the
 * opacity value (see {@link #setOpacity(float)}). See {@link
 * GraphicsDevice.WindowTranslucency} for more details.
 *
 * @param shape the shape to set to the window
 *
 * @throws IllegalComponentStateException if the shape is not {@code
 *     null} and the window is decorated
 * @throws IllegalComponentStateException if the shape is not {@code
 *     null} and the window is in full-screen mode
 * @throws UnsupportedOperationException if the shape is not {@code
 *     null} and {@link GraphicsDevice.WindowTranslucency#PERPIXEL_TRANSPARENT
 *     PERPIXEL_TRANSPARENT} translucency is not supported
 *
 * @see Window#getShape()
 * @see Window#setBackground(Color)
 * @see Window#setOpacity(float)
 * @see Frame#isUndecorated
 * @see Dialog#isUndecorated
 * @see GraphicsDevice.WindowTranslucency
 * @see GraphicsDevice#isWindowTranslucencySupported(GraphicsDevice.WindowTranslucency)
 *
 * @since 1.7
 */
public void setShape(Shape shape) {
    synchronized (getTreeLock()) {
        if (shape != null) {
            GraphicsConfiguration gc = getGraphicsConfiguration();
            GraphicsDevice gd = gc.getDevice();
            if (gc.getDevice().getFullScreenWindow() == this) {
                throw new IllegalComponentStateException(
                    "Setting shape for full-screen window is not supported.");
            }
            if (!gd.isWindowTranslucencySupported(
                    GraphicsDevice.WindowTranslucency.PERPIXEL_TRANSPARENT))
            {
                throw new UnsupportedOperationException(
                    "PERPIXEL_TRANSPARENT translucency is not supported.");
            }
        }
        this.shape = (shape == null) ? null : new Path2D.Float(shape);
        WindowPeer peer = (WindowPeer) this.peer;
        if (peer != null) {
            peer.applyShape(shape == null ? null : Region.getInstance(shape, null));
        }
    }
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:73,代码来源:Window.java

示例3: setShape

import java.awt.peer.WindowPeer; //导入方法依赖的package包/类
/**
 * Sets the shape of the window.
 * <p>
 * Setting a shape cuts off some parts of the window. Only the parts that
 * belong to the given {@link Shape} remain visible and clickable. If
 * the shape argument is {@code null}, this method restores the default
 * shape, making the window rectangular on most platforms.
 * <p>
 * The following conditions must be met to set a non-null shape:
 * <ul>
 * <li>The {@link GraphicsDevice.WindowTranslucency#PERPIXEL_TRANSPARENT
 * PERPIXEL_TRANSPARENT} translucency must be supported by the
 * underlying system
 * <li>The window must be undecorated (see {@link Frame#setUndecorated}
 * and {@link Dialog#setUndecorated})
 * <li>The window must not be in full-screen mode (see {@link
 * GraphicsDevice#setFullScreenWindow(Window)})
 * </ul>
 * <p>
 * If the requested shape is not {@code null}, and any of the above
 * conditions are not met, the shape of this window will not change,
 * and either the {@code UnsupportedOperationException} or {@code
 * IllegalComponentStateException} will be thrown.
 * <p>
 * The tranlucency levels of individual pixels may also be effected by the
 * alpha component of their color (see {@link Window#setBackground(Color)}) and the
 * opacity value (see {@link #setOpacity(float)}). See {@link
 * GraphicsDevice.WindowTranslucency} for more details.
 *
 * @param shape the shape to set to the window
 *
 * @throws IllegalComponentStateException if the shape is not {@code
 *     null} and the window is decorated
 * @throws IllegalComponentStateException if the shape is not {@code
 *     null} and the window is in full-screen mode
 * @throws UnsupportedOperationException if the shape is not {@code
 *     null} and {@link GraphicsDevice.WindowTranslucency#PERPIXEL_TRANSPARENT
 *     PERPIXEL_TRANSPARENT} translucency is not supported
 *
 * @see Window#getShape()
 * @see Window#setBackground(Color)
 * @see Window#setOpacity(float)
 * @see Frame#isUndecorated
 * @see Dialog#isUndecorated
 * @see GraphicsDevice.WindowTranslucency
 * @see GraphicsDevice#isWindowTranslucencySupported(GraphicsDevice.WindowTranslucency)
 *
 * @since 1.7
 */
public void setShape(Shape shape) {
    synchronized (getTreeLock()) {
        if (shape != null) {
            GraphicsConfiguration gc = getGraphicsConfiguration();
            GraphicsDevice gd = gc.getDevice();
            if (gc.getDevice().getFullScreenWindow() == this) {
                throw new IllegalComponentStateException(
                    "Setting shape for full-screen window is not supported.");
            }
            if (!gd.isWindowTranslucencySupported(
                    GraphicsDevice.WindowTranslucency.PERPIXEL_TRANSPARENT))
            {
                throw new UnsupportedOperationException(
                    "PERPIXEL_TRANSPARENT translucency is not supported.");
            }
        }
        this.shape = (shape == null) ? null : new Path2D.Float(shape);
        WindowPeer peer = (WindowPeer)getPeer();
        if (peer != null) {
            peer.applyShape(shape == null ? null : Region.getInstance(shape, null));
        }
    }
}
 
开发者ID:ZhaoX,项目名称:jdk-1.7-annotated,代码行数:73,代码来源:Window.java


注:本文中的java.awt.peer.WindowPeer.applyShape方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。