java.awt.peer.WindowPeer#setOpacity ( )源码实例Demo

下面列出了java.awt.peer.WindowPeer#setOpacity ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: jdk1.8-source-analysis   文件: Window.java
/**
 * Sets the opacity of the window.
 * <p>
 * The opacity value is in the range [0..1]. Note that setting the opacity
 * level of 0 may or may not disable the mouse event handling on this
 * window. This is a platform-dependent behavior.
 * <p>
 * The following conditions must be met in order to set the opacity value
 * less than {@code 1.0f}:
 * <ul>
 * <li>The {@link GraphicsDevice.WindowTranslucency#TRANSLUCENT TRANSLUCENT}
 * 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 opacity value is less than {@code 1.0f}, and any of the
 * above conditions are not met, the window opacity will not change,
 * and the {@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
 * current shape of this window (see {@link #setShape(Shape)}).
 *
 * @param opacity the opacity level to set to the window
 *
 * @throws IllegalArgumentException if the opacity is out of the range
 *     [0..1]
 * @throws IllegalComponentStateException if the window is decorated and
 *     the opacity is less than {@code 1.0f}
 * @throws IllegalComponentStateException if the window is in full screen
 *     mode, and the opacity is less than {@code 1.0f}
 * @throws UnsupportedOperationException if the {@code
 *     GraphicsDevice.WindowTranslucency#TRANSLUCENT TRANSLUCENT}
 *     translucency is not supported and the opacity is less than
 *     {@code 1.0f}
 *
 * @see Window#getOpacity
 * @see Window#setBackground(Color)
 * @see Window#setShape(Shape)
 * @see Frame#isUndecorated
 * @see Dialog#isUndecorated
 * @see GraphicsDevice.WindowTranslucency
 * @see GraphicsDevice#isWindowTranslucencySupported(GraphicsDevice.WindowTranslucency)
 *
 * @since 1.7
 */
public void setOpacity(float opacity) {
    synchronized (getTreeLock()) {
        if (opacity < 0.0f || opacity > 1.0f) {
            throw new IllegalArgumentException(
                "The value of opacity should be in the range [0.0f .. 1.0f].");
        }
        if (opacity < 1.0f) {
            GraphicsConfiguration gc = getGraphicsConfiguration();
            GraphicsDevice gd = gc.getDevice();
            if (gc.getDevice().getFullScreenWindow() == this) {
                throw new IllegalComponentStateException(
                    "Setting opacity for full-screen window is not supported.");
            }
            if (!gd.isWindowTranslucencySupported(
                GraphicsDevice.WindowTranslucency.TRANSLUCENT))
            {
                throw new UnsupportedOperationException(
                    "TRANSLUCENT translucency is not supported.");
            }
        }
        this.opacity = opacity;
        WindowPeer peer = (WindowPeer)getPeer();
        if (peer != null) {
            peer.setOpacity(opacity);
        }
    }
}
 
源代码2 项目: dragonwell8_jdk   文件: Window.java
/**
 * Sets the opacity of the window.
 * <p>
 * The opacity value is in the range [0..1]. Note that setting the opacity
 * level of 0 may or may not disable the mouse event handling on this
 * window. This is a platform-dependent behavior.
 * <p>
 * The following conditions must be met in order to set the opacity value
 * less than {@code 1.0f}:
 * <ul>
 * <li>The {@link GraphicsDevice.WindowTranslucency#TRANSLUCENT TRANSLUCENT}
 * 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 opacity value is less than {@code 1.0f}, and any of the
 * above conditions are not met, the window opacity will not change,
 * and the {@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
 * current shape of this window (see {@link #setShape(Shape)}).
 *
 * @param opacity the opacity level to set to the window
 *
 * @throws IllegalArgumentException if the opacity is out of the range
 *     [0..1]
 * @throws IllegalComponentStateException if the window is decorated and
 *     the opacity is less than {@code 1.0f}
 * @throws IllegalComponentStateException if the window is in full screen
 *     mode, and the opacity is less than {@code 1.0f}
 * @throws UnsupportedOperationException if the {@code
 *     GraphicsDevice.WindowTranslucency#TRANSLUCENT TRANSLUCENT}
 *     translucency is not supported and the opacity is less than
 *     {@code 1.0f}
 *
 * @see Window#getOpacity
 * @see Window#setBackground(Color)
 * @see Window#setShape(Shape)
 * @see Frame#isUndecorated
 * @see Dialog#isUndecorated
 * @see GraphicsDevice.WindowTranslucency
 * @see GraphicsDevice#isWindowTranslucencySupported(GraphicsDevice.WindowTranslucency)
 *
 * @since 1.7
 */
public void setOpacity(float opacity) {
    synchronized (getTreeLock()) {
        if (opacity < 0.0f || opacity > 1.0f) {
            throw new IllegalArgumentException(
                "The value of opacity should be in the range [0.0f .. 1.0f].");
        }
        if (opacity < 1.0f) {
            GraphicsConfiguration gc = getGraphicsConfiguration();
            GraphicsDevice gd = gc.getDevice();
            if (gc.getDevice().getFullScreenWindow() == this) {
                throw new IllegalComponentStateException(
                    "Setting opacity for full-screen window is not supported.");
            }
            if (!gd.isWindowTranslucencySupported(
                GraphicsDevice.WindowTranslucency.TRANSLUCENT))
            {
                throw new UnsupportedOperationException(
                    "TRANSLUCENT translucency is not supported.");
            }
        }
        this.opacity = opacity;
        WindowPeer peer = (WindowPeer)getPeer();
        if (peer != null) {
            peer.setOpacity(opacity);
        }
    }
}
 
源代码3 项目: TencentKona-8   文件: Window.java
/**
 * Sets the opacity of the window.
 * <p>
 * The opacity value is in the range [0..1]. Note that setting the opacity
 * level of 0 may or may not disable the mouse event handling on this
 * window. This is a platform-dependent behavior.
 * <p>
 * The following conditions must be met in order to set the opacity value
 * less than {@code 1.0f}:
 * <ul>
 * <li>The {@link GraphicsDevice.WindowTranslucency#TRANSLUCENT TRANSLUCENT}
 * 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 opacity value is less than {@code 1.0f}, and any of the
 * above conditions are not met, the window opacity will not change,
 * and the {@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
 * current shape of this window (see {@link #setShape(Shape)}).
 *
 * @param opacity the opacity level to set to the window
 *
 * @throws IllegalArgumentException if the opacity is out of the range
 *     [0..1]
 * @throws IllegalComponentStateException if the window is decorated and
 *     the opacity is less than {@code 1.0f}
 * @throws IllegalComponentStateException if the window is in full screen
 *     mode, and the opacity is less than {@code 1.0f}
 * @throws UnsupportedOperationException if the {@code
 *     GraphicsDevice.WindowTranslucency#TRANSLUCENT TRANSLUCENT}
 *     translucency is not supported and the opacity is less than
 *     {@code 1.0f}
 *
 * @see Window#getOpacity
 * @see Window#setBackground(Color)
 * @see Window#setShape(Shape)
 * @see Frame#isUndecorated
 * @see Dialog#isUndecorated
 * @see GraphicsDevice.WindowTranslucency
 * @see GraphicsDevice#isWindowTranslucencySupported(GraphicsDevice.WindowTranslucency)
 *
 * @since 1.7
 */
public void setOpacity(float opacity) {
    synchronized (getTreeLock()) {
        if (opacity < 0.0f || opacity > 1.0f) {
            throw new IllegalArgumentException(
                "The value of opacity should be in the range [0.0f .. 1.0f].");
        }
        if (opacity < 1.0f) {
            GraphicsConfiguration gc = getGraphicsConfiguration();
            GraphicsDevice gd = gc.getDevice();
            if (gc.getDevice().getFullScreenWindow() == this) {
                throw new IllegalComponentStateException(
                    "Setting opacity for full-screen window is not supported.");
            }
            if (!gd.isWindowTranslucencySupported(
                GraphicsDevice.WindowTranslucency.TRANSLUCENT))
            {
                throw new UnsupportedOperationException(
                    "TRANSLUCENT translucency is not supported.");
            }
        }
        this.opacity = opacity;
        WindowPeer peer = (WindowPeer)getPeer();
        if (peer != null) {
            peer.setOpacity(opacity);
        }
    }
}
 
源代码4 项目: jdk8u60   文件: Window.java
/**
 * Sets the opacity of the window.
 * <p>
 * The opacity value is in the range [0..1]. Note that setting the opacity
 * level of 0 may or may not disable the mouse event handling on this
 * window. This is a platform-dependent behavior.
 * <p>
 * The following conditions must be met in order to set the opacity value
 * less than {@code 1.0f}:
 * <ul>
 * <li>The {@link GraphicsDevice.WindowTranslucency#TRANSLUCENT TRANSLUCENT}
 * 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 opacity value is less than {@code 1.0f}, and any of the
 * above conditions are not met, the window opacity will not change,
 * and the {@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
 * current shape of this window (see {@link #setShape(Shape)}).
 *
 * @param opacity the opacity level to set to the window
 *
 * @throws IllegalArgumentException if the opacity is out of the range
 *     [0..1]
 * @throws IllegalComponentStateException if the window is decorated and
 *     the opacity is less than {@code 1.0f}
 * @throws IllegalComponentStateException if the window is in full screen
 *     mode, and the opacity is less than {@code 1.0f}
 * @throws UnsupportedOperationException if the {@code
 *     GraphicsDevice.WindowTranslucency#TRANSLUCENT TRANSLUCENT}
 *     translucency is not supported and the opacity is less than
 *     {@code 1.0f}
 *
 * @see Window#getOpacity
 * @see Window#setBackground(Color)
 * @see Window#setShape(Shape)
 * @see Frame#isUndecorated
 * @see Dialog#isUndecorated
 * @see GraphicsDevice.WindowTranslucency
 * @see GraphicsDevice#isWindowTranslucencySupported(GraphicsDevice.WindowTranslucency)
 *
 * @since 1.7
 */
public void setOpacity(float opacity) {
    synchronized (getTreeLock()) {
        if (opacity < 0.0f || opacity > 1.0f) {
            throw new IllegalArgumentException(
                "The value of opacity should be in the range [0.0f .. 1.0f].");
        }
        if (opacity < 1.0f) {
            GraphicsConfiguration gc = getGraphicsConfiguration();
            GraphicsDevice gd = gc.getDevice();
            if (gc.getDevice().getFullScreenWindow() == this) {
                throw new IllegalComponentStateException(
                    "Setting opacity for full-screen window is not supported.");
            }
            if (!gd.isWindowTranslucencySupported(
                GraphicsDevice.WindowTranslucency.TRANSLUCENT))
            {
                throw new UnsupportedOperationException(
                    "TRANSLUCENT translucency is not supported.");
            }
        }
        this.opacity = opacity;
        WindowPeer peer = (WindowPeer)getPeer();
        if (peer != null) {
            peer.setOpacity(opacity);
        }
    }
}
 
源代码5 项目: JDKSourceCode1.8   文件: Window.java
/**
 * Sets the opacity of the window.
 * <p>
 * The opacity value is in the range [0..1]. Note that setting the opacity
 * level of 0 may or may not disable the mouse event handling on this
 * window. This is a platform-dependent behavior.
 * <p>
 * The following conditions must be met in order to set the opacity value
 * less than {@code 1.0f}:
 * <ul>
 * <li>The {@link GraphicsDevice.WindowTranslucency#TRANSLUCENT TRANSLUCENT}
 * 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 opacity value is less than {@code 1.0f}, and any of the
 * above conditions are not met, the window opacity will not change,
 * and the {@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
 * current shape of this window (see {@link #setShape(Shape)}).
 *
 * @param opacity the opacity level to set to the window
 *
 * @throws IllegalArgumentException if the opacity is out of the range
 *     [0..1]
 * @throws IllegalComponentStateException if the window is decorated and
 *     the opacity is less than {@code 1.0f}
 * @throws IllegalComponentStateException if the window is in full screen
 *     mode, and the opacity is less than {@code 1.0f}
 * @throws UnsupportedOperationException if the {@code
 *     GraphicsDevice.WindowTranslucency#TRANSLUCENT TRANSLUCENT}
 *     translucency is not supported and the opacity is less than
 *     {@code 1.0f}
 *
 * @see Window#getOpacity
 * @see Window#setBackground(Color)
 * @see Window#setShape(Shape)
 * @see Frame#isUndecorated
 * @see Dialog#isUndecorated
 * @see GraphicsDevice.WindowTranslucency
 * @see GraphicsDevice#isWindowTranslucencySupported(GraphicsDevice.WindowTranslucency)
 *
 * @since 1.7
 */
public void setOpacity(float opacity) {
    synchronized (getTreeLock()) {
        if (opacity < 0.0f || opacity > 1.0f) {
            throw new IllegalArgumentException(
                "The value of opacity should be in the range [0.0f .. 1.0f].");
        }
        if (opacity < 1.0f) {
            GraphicsConfiguration gc = getGraphicsConfiguration();
            GraphicsDevice gd = gc.getDevice();
            if (gc.getDevice().getFullScreenWindow() == this) {
                throw new IllegalComponentStateException(
                    "Setting opacity for full-screen window is not supported.");
            }
            if (!gd.isWindowTranslucencySupported(
                GraphicsDevice.WindowTranslucency.TRANSLUCENT))
            {
                throw new UnsupportedOperationException(
                    "TRANSLUCENT translucency is not supported.");
            }
        }
        this.opacity = opacity;
        WindowPeer peer = (WindowPeer)getPeer();
        if (peer != null) {
            peer.setOpacity(opacity);
        }
    }
}
 
源代码6 项目: openjdk-jdk8u   文件: Window.java
/**
 * Sets the opacity of the window.
 * <p>
 * The opacity value is in the range [0..1]. Note that setting the opacity
 * level of 0 may or may not disable the mouse event handling on this
 * window. This is a platform-dependent behavior.
 * <p>
 * The following conditions must be met in order to set the opacity value
 * less than {@code 1.0f}:
 * <ul>
 * <li>The {@link GraphicsDevice.WindowTranslucency#TRANSLUCENT TRANSLUCENT}
 * 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 opacity value is less than {@code 1.0f}, and any of the
 * above conditions are not met, the window opacity will not change,
 * and the {@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
 * current shape of this window (see {@link #setShape(Shape)}).
 *
 * @param opacity the opacity level to set to the window
 *
 * @throws IllegalArgumentException if the opacity is out of the range
 *     [0..1]
 * @throws IllegalComponentStateException if the window is decorated and
 *     the opacity is less than {@code 1.0f}
 * @throws IllegalComponentStateException if the window is in full screen
 *     mode, and the opacity is less than {@code 1.0f}
 * @throws UnsupportedOperationException if the {@code
 *     GraphicsDevice.WindowTranslucency#TRANSLUCENT TRANSLUCENT}
 *     translucency is not supported and the opacity is less than
 *     {@code 1.0f}
 *
 * @see Window#getOpacity
 * @see Window#setBackground(Color)
 * @see Window#setShape(Shape)
 * @see Frame#isUndecorated
 * @see Dialog#isUndecorated
 * @see GraphicsDevice.WindowTranslucency
 * @see GraphicsDevice#isWindowTranslucencySupported(GraphicsDevice.WindowTranslucency)
 *
 * @since 1.7
 */
public void setOpacity(float opacity) {
    synchronized (getTreeLock()) {
        if (opacity < 0.0f || opacity > 1.0f) {
            throw new IllegalArgumentException(
                "The value of opacity should be in the range [0.0f .. 1.0f].");
        }
        if (opacity < 1.0f) {
            GraphicsConfiguration gc = getGraphicsConfiguration();
            GraphicsDevice gd = gc.getDevice();
            if (gc.getDevice().getFullScreenWindow() == this) {
                throw new IllegalComponentStateException(
                    "Setting opacity for full-screen window is not supported.");
            }
            if (!gd.isWindowTranslucencySupported(
                GraphicsDevice.WindowTranslucency.TRANSLUCENT))
            {
                throw new UnsupportedOperationException(
                    "TRANSLUCENT translucency is not supported.");
            }
        }
        this.opacity = opacity;
        WindowPeer peer = (WindowPeer)getPeer();
        if (peer != null) {
            peer.setOpacity(opacity);
        }
    }
}
 
源代码7 项目: openjdk-jdk8u-backup   文件: Window.java
/**
 * Sets the opacity of the window.
 * <p>
 * The opacity value is in the range [0..1]. Note that setting the opacity
 * level of 0 may or may not disable the mouse event handling on this
 * window. This is a platform-dependent behavior.
 * <p>
 * The following conditions must be met in order to set the opacity value
 * less than {@code 1.0f}:
 * <ul>
 * <li>The {@link GraphicsDevice.WindowTranslucency#TRANSLUCENT TRANSLUCENT}
 * 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 opacity value is less than {@code 1.0f}, and any of the
 * above conditions are not met, the window opacity will not change,
 * and the {@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
 * current shape of this window (see {@link #setShape(Shape)}).
 *
 * @param opacity the opacity level to set to the window
 *
 * @throws IllegalArgumentException if the opacity is out of the range
 *     [0..1]
 * @throws IllegalComponentStateException if the window is decorated and
 *     the opacity is less than {@code 1.0f}
 * @throws IllegalComponentStateException if the window is in full screen
 *     mode, and the opacity is less than {@code 1.0f}
 * @throws UnsupportedOperationException if the {@code
 *     GraphicsDevice.WindowTranslucency#TRANSLUCENT TRANSLUCENT}
 *     translucency is not supported and the opacity is less than
 *     {@code 1.0f}
 *
 * @see Window#getOpacity
 * @see Window#setBackground(Color)
 * @see Window#setShape(Shape)
 * @see Frame#isUndecorated
 * @see Dialog#isUndecorated
 * @see GraphicsDevice.WindowTranslucency
 * @see GraphicsDevice#isWindowTranslucencySupported(GraphicsDevice.WindowTranslucency)
 *
 * @since 1.7
 */
public void setOpacity(float opacity) {
    synchronized (getTreeLock()) {
        if (opacity < 0.0f || opacity > 1.0f) {
            throw new IllegalArgumentException(
                "The value of opacity should be in the range [0.0f .. 1.0f].");
        }
        if (opacity < 1.0f) {
            GraphicsConfiguration gc = getGraphicsConfiguration();
            GraphicsDevice gd = gc.getDevice();
            if (gc.getDevice().getFullScreenWindow() == this) {
                throw new IllegalComponentStateException(
                    "Setting opacity for full-screen window is not supported.");
            }
            if (!gd.isWindowTranslucencySupported(
                GraphicsDevice.WindowTranslucency.TRANSLUCENT))
            {
                throw new UnsupportedOperationException(
                    "TRANSLUCENT translucency is not supported.");
            }
        }
        this.opacity = opacity;
        WindowPeer peer = (WindowPeer)getPeer();
        if (peer != null) {
            peer.setOpacity(opacity);
        }
    }
}
 
源代码8 项目: Bytecoder   文件: Window.java
/**
 * Sets the opacity of the window.
 * <p>
 * The opacity value is in the range [0..1]. Note that setting the opacity
 * level of 0 may or may not disable the mouse event handling on this
 * window. This is a platform-dependent behavior.
 * <p>
 * The following conditions must be met in order to set the opacity value
 * less than {@code 1.0f}:
 * <ul>
 * <li>The {@link GraphicsDevice.WindowTranslucency#TRANSLUCENT TRANSLUCENT}
 * 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 opacity value is less than {@code 1.0f}, and any of the
 * above conditions are not met, the window opacity will not change,
 * and the {@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
 * current shape of this window (see {@link #setShape(Shape)}).
 *
 * @param opacity the opacity level to set to the window
 *
 * @throws IllegalArgumentException if the opacity is out of the range
 *     [0..1]
 * @throws IllegalComponentStateException if the window is decorated and
 *     the opacity is less than {@code 1.0f}
 * @throws IllegalComponentStateException if the window is in full screen
 *     mode, and the opacity is less than {@code 1.0f}
 * @throws UnsupportedOperationException if the {@code
 *     GraphicsDevice.WindowTranslucency#TRANSLUCENT TRANSLUCENT}
 *     translucency is not supported and the opacity is less than
 *     {@code 1.0f}
 *
 * @see Window#getOpacity
 * @see Window#setBackground(Color)
 * @see Window#setShape(Shape)
 * @see Frame#isUndecorated
 * @see Dialog#isUndecorated
 * @see GraphicsDevice.WindowTranslucency
 * @see GraphicsDevice#isWindowTranslucencySupported(GraphicsDevice.WindowTranslucency)
 *
 * @since 1.7
 */
@SuppressWarnings("deprecation")
public void setOpacity(float opacity) {
    synchronized (getTreeLock()) {
        if (opacity < 0.0f || opacity > 1.0f) {
            throw new IllegalArgumentException(
                "The value of opacity should be in the range [0.0f .. 1.0f].");
        }
        if (opacity < 1.0f) {
            GraphicsConfiguration gc = getGraphicsConfiguration();
            GraphicsDevice gd = gc.getDevice();
            if (gc.getDevice().getFullScreenWindow() == this) {
                throw new IllegalComponentStateException(
                    "Setting opacity for full-screen window is not supported.");
            }
            if (!gd.isWindowTranslucencySupported(
                GraphicsDevice.WindowTranslucency.TRANSLUCENT))
            {
                throw new UnsupportedOperationException(
                    "TRANSLUCENT translucency is not supported.");
            }
        }
        this.opacity = opacity;
        WindowPeer peer = (WindowPeer) this.peer;
        if (peer != null) {
            peer.setOpacity(opacity);
        }
    }
}
 
源代码9 项目: openjdk-jdk9   文件: Window.java
/**
 * Sets the opacity of the window.
 * <p>
 * The opacity value is in the range [0..1]. Note that setting the opacity
 * level of 0 may or may not disable the mouse event handling on this
 * window. This is a platform-dependent behavior.
 * <p>
 * The following conditions must be met in order to set the opacity value
 * less than {@code 1.0f}:
 * <ul>
 * <li>The {@link GraphicsDevice.WindowTranslucency#TRANSLUCENT TRANSLUCENT}
 * 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 opacity value is less than {@code 1.0f}, and any of the
 * above conditions are not met, the window opacity will not change,
 * and the {@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
 * current shape of this window (see {@link #setShape(Shape)}).
 *
 * @param opacity the opacity level to set to the window
 *
 * @throws IllegalArgumentException if the opacity is out of the range
 *     [0..1]
 * @throws IllegalComponentStateException if the window is decorated and
 *     the opacity is less than {@code 1.0f}
 * @throws IllegalComponentStateException if the window is in full screen
 *     mode, and the opacity is less than {@code 1.0f}
 * @throws UnsupportedOperationException if the {@code
 *     GraphicsDevice.WindowTranslucency#TRANSLUCENT TRANSLUCENT}
 *     translucency is not supported and the opacity is less than
 *     {@code 1.0f}
 *
 * @see Window#getOpacity
 * @see Window#setBackground(Color)
 * @see Window#setShape(Shape)
 * @see Frame#isUndecorated
 * @see Dialog#isUndecorated
 * @see GraphicsDevice.WindowTranslucency
 * @see GraphicsDevice#isWindowTranslucencySupported(GraphicsDevice.WindowTranslucency)
 *
 * @since 1.7
 */
@SuppressWarnings("deprecation")
public void setOpacity(float opacity) {
    synchronized (getTreeLock()) {
        if (opacity < 0.0f || opacity > 1.0f) {
            throw new IllegalArgumentException(
                "The value of opacity should be in the range [0.0f .. 1.0f].");
        }
        if (opacity < 1.0f) {
            GraphicsConfiguration gc = getGraphicsConfiguration();
            GraphicsDevice gd = gc.getDevice();
            if (gc.getDevice().getFullScreenWindow() == this) {
                throw new IllegalComponentStateException(
                    "Setting opacity for full-screen window is not supported.");
            }
            if (!gd.isWindowTranslucencySupported(
                GraphicsDevice.WindowTranslucency.TRANSLUCENT))
            {
                throw new UnsupportedOperationException(
                    "TRANSLUCENT translucency is not supported.");
            }
        }
        this.opacity = opacity;
        WindowPeer peer = (WindowPeer) this.peer;
        if (peer != null) {
            peer.setOpacity(opacity);
        }
    }
}
 
源代码10 项目: jdk8u-jdk   文件: Window.java
/**
 * Sets the opacity of the window.
 * <p>
 * The opacity value is in the range [0..1]. Note that setting the opacity
 * level of 0 may or may not disable the mouse event handling on this
 * window. This is a platform-dependent behavior.
 * <p>
 * The following conditions must be met in order to set the opacity value
 * less than {@code 1.0f}:
 * <ul>
 * <li>The {@link GraphicsDevice.WindowTranslucency#TRANSLUCENT TRANSLUCENT}
 * 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 opacity value is less than {@code 1.0f}, and any of the
 * above conditions are not met, the window opacity will not change,
 * and the {@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
 * current shape of this window (see {@link #setShape(Shape)}).
 *
 * @param opacity the opacity level to set to the window
 *
 * @throws IllegalArgumentException if the opacity is out of the range
 *     [0..1]
 * @throws IllegalComponentStateException if the window is decorated and
 *     the opacity is less than {@code 1.0f}
 * @throws IllegalComponentStateException if the window is in full screen
 *     mode, and the opacity is less than {@code 1.0f}
 * @throws UnsupportedOperationException if the {@code
 *     GraphicsDevice.WindowTranslucency#TRANSLUCENT TRANSLUCENT}
 *     translucency is not supported and the opacity is less than
 *     {@code 1.0f}
 *
 * @see Window#getOpacity
 * @see Window#setBackground(Color)
 * @see Window#setShape(Shape)
 * @see Frame#isUndecorated
 * @see Dialog#isUndecorated
 * @see GraphicsDevice.WindowTranslucency
 * @see GraphicsDevice#isWindowTranslucencySupported(GraphicsDevice.WindowTranslucency)
 *
 * @since 1.7
 */
public void setOpacity(float opacity) {
    synchronized (getTreeLock()) {
        if (opacity < 0.0f || opacity > 1.0f) {
            throw new IllegalArgumentException(
                "The value of opacity should be in the range [0.0f .. 1.0f].");
        }
        if (opacity < 1.0f) {
            GraphicsConfiguration gc = getGraphicsConfiguration();
            GraphicsDevice gd = gc.getDevice();
            if (gc.getDevice().getFullScreenWindow() == this) {
                throw new IllegalComponentStateException(
                    "Setting opacity for full-screen window is not supported.");
            }
            if (!gd.isWindowTranslucencySupported(
                GraphicsDevice.WindowTranslucency.TRANSLUCENT))
            {
                throw new UnsupportedOperationException(
                    "TRANSLUCENT translucency is not supported.");
            }
        }
        this.opacity = opacity;
        WindowPeer peer = (WindowPeer)getPeer();
        if (peer != null) {
            peer.setOpacity(opacity);
        }
    }
}
 
源代码11 项目: Java8CN   文件: Window.java
/**
 * Sets the opacity of the window.
 * <p>
 * The opacity value is in the range [0..1]. Note that setting the opacity
 * level of 0 may or may not disable the mouse event handling on this
 * window. This is a platform-dependent behavior.
 * <p>
 * The following conditions must be met in order to set the opacity value
 * less than {@code 1.0f}:
 * <ul>
 * <li>The {@link GraphicsDevice.WindowTranslucency#TRANSLUCENT TRANSLUCENT}
 * 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 opacity value is less than {@code 1.0f}, and any of the
 * above conditions are not met, the window opacity will not change,
 * and the {@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
 * current shape of this window (see {@link #setShape(Shape)}).
 *
 * @param opacity the opacity level to set to the window
 *
 * @throws IllegalArgumentException if the opacity is out of the range
 *     [0..1]
 * @throws IllegalComponentStateException if the window is decorated and
 *     the opacity is less than {@code 1.0f}
 * @throws IllegalComponentStateException if the window is in full screen
 *     mode, and the opacity is less than {@code 1.0f}
 * @throws UnsupportedOperationException if the {@code
 *     GraphicsDevice.WindowTranslucency#TRANSLUCENT TRANSLUCENT}
 *     translucency is not supported and the opacity is less than
 *     {@code 1.0f}
 *
 * @see Window#getOpacity
 * @see Window#setBackground(Color)
 * @see Window#setShape(Shape)
 * @see Frame#isUndecorated
 * @see Dialog#isUndecorated
 * @see GraphicsDevice.WindowTranslucency
 * @see GraphicsDevice#isWindowTranslucencySupported(GraphicsDevice.WindowTranslucency)
 *
 * @since 1.7
 */
public void setOpacity(float opacity) {
    synchronized (getTreeLock()) {
        if (opacity < 0.0f || opacity > 1.0f) {
            throw new IllegalArgumentException(
                "The value of opacity should be in the range [0.0f .. 1.0f].");
        }
        if (opacity < 1.0f) {
            GraphicsConfiguration gc = getGraphicsConfiguration();
            GraphicsDevice gd = gc.getDevice();
            if (gc.getDevice().getFullScreenWindow() == this) {
                throw new IllegalComponentStateException(
                    "Setting opacity for full-screen window is not supported.");
            }
            if (!gd.isWindowTranslucencySupported(
                GraphicsDevice.WindowTranslucency.TRANSLUCENT))
            {
                throw new UnsupportedOperationException(
                    "TRANSLUCENT translucency is not supported.");
            }
        }
        this.opacity = opacity;
        WindowPeer peer = (WindowPeer)getPeer();
        if (peer != null) {
            peer.setOpacity(opacity);
        }
    }
}
 
源代码12 项目: hottub   文件: Window.java
/**
 * Sets the opacity of the window.
 * <p>
 * The opacity value is in the range [0..1]. Note that setting the opacity
 * level of 0 may or may not disable the mouse event handling on this
 * window. This is a platform-dependent behavior.
 * <p>
 * The following conditions must be met in order to set the opacity value
 * less than {@code 1.0f}:
 * <ul>
 * <li>The {@link GraphicsDevice.WindowTranslucency#TRANSLUCENT TRANSLUCENT}
 * 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 opacity value is less than {@code 1.0f}, and any of the
 * above conditions are not met, the window opacity will not change,
 * and the {@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
 * current shape of this window (see {@link #setShape(Shape)}).
 *
 * @param opacity the opacity level to set to the window
 *
 * @throws IllegalArgumentException if the opacity is out of the range
 *     [0..1]
 * @throws IllegalComponentStateException if the window is decorated and
 *     the opacity is less than {@code 1.0f}
 * @throws IllegalComponentStateException if the window is in full screen
 *     mode, and the opacity is less than {@code 1.0f}
 * @throws UnsupportedOperationException if the {@code
 *     GraphicsDevice.WindowTranslucency#TRANSLUCENT TRANSLUCENT}
 *     translucency is not supported and the opacity is less than
 *     {@code 1.0f}
 *
 * @see Window#getOpacity
 * @see Window#setBackground(Color)
 * @see Window#setShape(Shape)
 * @see Frame#isUndecorated
 * @see Dialog#isUndecorated
 * @see GraphicsDevice.WindowTranslucency
 * @see GraphicsDevice#isWindowTranslucencySupported(GraphicsDevice.WindowTranslucency)
 *
 * @since 1.7
 */
public void setOpacity(float opacity) {
    synchronized (getTreeLock()) {
        if (opacity < 0.0f || opacity > 1.0f) {
            throw new IllegalArgumentException(
                "The value of opacity should be in the range [0.0f .. 1.0f].");
        }
        if (opacity < 1.0f) {
            GraphicsConfiguration gc = getGraphicsConfiguration();
            GraphicsDevice gd = gc.getDevice();
            if (gc.getDevice().getFullScreenWindow() == this) {
                throw new IllegalComponentStateException(
                    "Setting opacity for full-screen window is not supported.");
            }
            if (!gd.isWindowTranslucencySupported(
                GraphicsDevice.WindowTranslucency.TRANSLUCENT))
            {
                throw new UnsupportedOperationException(
                    "TRANSLUCENT translucency is not supported.");
            }
        }
        this.opacity = opacity;
        WindowPeer peer = (WindowPeer)getPeer();
        if (peer != null) {
            peer.setOpacity(opacity);
        }
    }
}
 
源代码13 项目: openjdk-8-source   文件: Window.java
/**
 * Sets the opacity of the window.
 * <p>
 * The opacity value is in the range [0..1]. Note that setting the opacity
 * level of 0 may or may not disable the mouse event handling on this
 * window. This is a platform-dependent behavior.
 * <p>
 * The following conditions must be met in order to set the opacity value
 * less than {@code 1.0f}:
 * <ul>
 * <li>The {@link GraphicsDevice.WindowTranslucency#TRANSLUCENT TRANSLUCENT}
 * 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 opacity value is less than {@code 1.0f}, and any of the
 * above conditions are not met, the window opacity will not change,
 * and the {@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
 * current shape of this window (see {@link #setShape(Shape)}).
 *
 * @param opacity the opacity level to set to the window
 *
 * @throws IllegalArgumentException if the opacity is out of the range
 *     [0..1]
 * @throws IllegalComponentStateException if the window is decorated and
 *     the opacity is less than {@code 1.0f}
 * @throws IllegalComponentStateException if the window is in full screen
 *     mode, and the opacity is less than {@code 1.0f}
 * @throws UnsupportedOperationException if the {@code
 *     GraphicsDevice.WindowTranslucency#TRANSLUCENT TRANSLUCENT}
 *     translucency is not supported and the opacity is less than
 *     {@code 1.0f}
 *
 * @see Window#getOpacity
 * @see Window#setBackground(Color)
 * @see Window#setShape(Shape)
 * @see Frame#isUndecorated
 * @see Dialog#isUndecorated
 * @see GraphicsDevice.WindowTranslucency
 * @see GraphicsDevice#isWindowTranslucencySupported(GraphicsDevice.WindowTranslucency)
 *
 * @since 1.7
 */
public void setOpacity(float opacity) {
    synchronized (getTreeLock()) {
        if (opacity < 0.0f || opacity > 1.0f) {
            throw new IllegalArgumentException(
                "The value of opacity should be in the range [0.0f .. 1.0f].");
        }
        if (opacity < 1.0f) {
            GraphicsConfiguration gc = getGraphicsConfiguration();
            GraphicsDevice gd = gc.getDevice();
            if (gc.getDevice().getFullScreenWindow() == this) {
                throw new IllegalComponentStateException(
                    "Setting opacity for full-screen window is not supported.");
            }
            if (!gd.isWindowTranslucencySupported(
                GraphicsDevice.WindowTranslucency.TRANSLUCENT))
            {
                throw new UnsupportedOperationException(
                    "TRANSLUCENT translucency is not supported.");
            }
        }
        this.opacity = opacity;
        WindowPeer peer = (WindowPeer)getPeer();
        if (peer != null) {
            peer.setOpacity(opacity);
        }
    }
}
 
源代码14 项目: openjdk-8   文件: Window.java
/**
 * Sets the opacity of the window.
 * <p>
 * The opacity value is in the range [0..1]. Note that setting the opacity
 * level of 0 may or may not disable the mouse event handling on this
 * window. This is a platform-dependent behavior.
 * <p>
 * The following conditions must be met in order to set the opacity value
 * less than {@code 1.0f}:
 * <ul>
 * <li>The {@link GraphicsDevice.WindowTranslucency#TRANSLUCENT TRANSLUCENT}
 * 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 opacity value is less than {@code 1.0f}, and any of the
 * above conditions are not met, the window opacity will not change,
 * and the {@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
 * current shape of this window (see {@link #setShape(Shape)}).
 *
 * @param opacity the opacity level to set to the window
 *
 * @throws IllegalArgumentException if the opacity is out of the range
 *     [0..1]
 * @throws IllegalComponentStateException if the window is decorated and
 *     the opacity is less than {@code 1.0f}
 * @throws IllegalComponentStateException if the window is in full screen
 *     mode, and the opacity is less than {@code 1.0f}
 * @throws UnsupportedOperationException if the {@code
 *     GraphicsDevice.WindowTranslucency#TRANSLUCENT TRANSLUCENT}
 *     translucency is not supported and the opacity is less than
 *     {@code 1.0f}
 *
 * @see Window#getOpacity
 * @see Window#setBackground(Color)
 * @see Window#setShape(Shape)
 * @see Frame#isUndecorated
 * @see Dialog#isUndecorated
 * @see GraphicsDevice.WindowTranslucency
 * @see GraphicsDevice#isWindowTranslucencySupported(GraphicsDevice.WindowTranslucency)
 *
 * @since 1.7
 */
public void setOpacity(float opacity) {
    synchronized (getTreeLock()) {
        if (opacity < 0.0f || opacity > 1.0f) {
            throw new IllegalArgumentException(
                "The value of opacity should be in the range [0.0f .. 1.0f].");
        }
        if (opacity < 1.0f) {
            GraphicsConfiguration gc = getGraphicsConfiguration();
            GraphicsDevice gd = gc.getDevice();
            if (gc.getDevice().getFullScreenWindow() == this) {
                throw new IllegalComponentStateException(
                    "Setting opacity for full-screen window is not supported.");
            }
            if (!gd.isWindowTranslucencySupported(
                GraphicsDevice.WindowTranslucency.TRANSLUCENT))
            {
                throw new UnsupportedOperationException(
                    "TRANSLUCENT translucency is not supported.");
            }
        }
        this.opacity = opacity;
        WindowPeer peer = (WindowPeer)getPeer();
        if (peer != null) {
            peer.setOpacity(opacity);
        }
    }
}
 
源代码15 项目: jdk8u_jdk   文件: Window.java
/**
 * Sets the opacity of the window.
 * <p>
 * The opacity value is in the range [0..1]. Note that setting the opacity
 * level of 0 may or may not disable the mouse event handling on this
 * window. This is a platform-dependent behavior.
 * <p>
 * The following conditions must be met in order to set the opacity value
 * less than {@code 1.0f}:
 * <ul>
 * <li>The {@link GraphicsDevice.WindowTranslucency#TRANSLUCENT TRANSLUCENT}
 * 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 opacity value is less than {@code 1.0f}, and any of the
 * above conditions are not met, the window opacity will not change,
 * and the {@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
 * current shape of this window (see {@link #setShape(Shape)}).
 *
 * @param opacity the opacity level to set to the window
 *
 * @throws IllegalArgumentException if the opacity is out of the range
 *     [0..1]
 * @throws IllegalComponentStateException if the window is decorated and
 *     the opacity is less than {@code 1.0f}
 * @throws IllegalComponentStateException if the window is in full screen
 *     mode, and the opacity is less than {@code 1.0f}
 * @throws UnsupportedOperationException if the {@code
 *     GraphicsDevice.WindowTranslucency#TRANSLUCENT TRANSLUCENT}
 *     translucency is not supported and the opacity is less than
 *     {@code 1.0f}
 *
 * @see Window#getOpacity
 * @see Window#setBackground(Color)
 * @see Window#setShape(Shape)
 * @see Frame#isUndecorated
 * @see Dialog#isUndecorated
 * @see GraphicsDevice.WindowTranslucency
 * @see GraphicsDevice#isWindowTranslucencySupported(GraphicsDevice.WindowTranslucency)
 *
 * @since 1.7
 */
public void setOpacity(float opacity) {
    synchronized (getTreeLock()) {
        if (opacity < 0.0f || opacity > 1.0f) {
            throw new IllegalArgumentException(
                "The value of opacity should be in the range [0.0f .. 1.0f].");
        }
        if (opacity < 1.0f) {
            GraphicsConfiguration gc = getGraphicsConfiguration();
            GraphicsDevice gd = gc.getDevice();
            if (gc.getDevice().getFullScreenWindow() == this) {
                throw new IllegalComponentStateException(
                    "Setting opacity for full-screen window is not supported.");
            }
            if (!gd.isWindowTranslucencySupported(
                GraphicsDevice.WindowTranslucency.TRANSLUCENT))
            {
                throw new UnsupportedOperationException(
                    "TRANSLUCENT translucency is not supported.");
            }
        }
        this.opacity = opacity;
        WindowPeer peer = (WindowPeer)getPeer();
        if (peer != null) {
            peer.setOpacity(opacity);
        }
    }
}
 
源代码16 项目: jdk8u-jdk   文件: Window.java
/**
 * Sets the opacity of the window.
 * <p>
 * The opacity value is in the range [0..1]. Note that setting the opacity
 * level of 0 may or may not disable the mouse event handling on this
 * window. This is a platform-dependent behavior.
 * <p>
 * The following conditions must be met in order to set the opacity value
 * less than {@code 1.0f}:
 * <ul>
 * <li>The {@link GraphicsDevice.WindowTranslucency#TRANSLUCENT TRANSLUCENT}
 * 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 opacity value is less than {@code 1.0f}, and any of the
 * above conditions are not met, the window opacity will not change,
 * and the {@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
 * current shape of this window (see {@link #setShape(Shape)}).
 *
 * @param opacity the opacity level to set to the window
 *
 * @throws IllegalArgumentException if the opacity is out of the range
 *     [0..1]
 * @throws IllegalComponentStateException if the window is decorated and
 *     the opacity is less than {@code 1.0f}
 * @throws IllegalComponentStateException if the window is in full screen
 *     mode, and the opacity is less than {@code 1.0f}
 * @throws UnsupportedOperationException if the {@code
 *     GraphicsDevice.WindowTranslucency#TRANSLUCENT TRANSLUCENT}
 *     translucency is not supported and the opacity is less than
 *     {@code 1.0f}
 *
 * @see Window#getOpacity
 * @see Window#setBackground(Color)
 * @see Window#setShape(Shape)
 * @see Frame#isUndecorated
 * @see Dialog#isUndecorated
 * @see GraphicsDevice.WindowTranslucency
 * @see GraphicsDevice#isWindowTranslucencySupported(GraphicsDevice.WindowTranslucency)
 *
 * @since 1.7
 */
public void setOpacity(float opacity) {
    synchronized (getTreeLock()) {
        if (opacity < 0.0f || opacity > 1.0f) {
            throw new IllegalArgumentException(
                "The value of opacity should be in the range [0.0f .. 1.0f].");
        }
        if (opacity < 1.0f) {
            GraphicsConfiguration gc = getGraphicsConfiguration();
            GraphicsDevice gd = gc.getDevice();
            if (gc.getDevice().getFullScreenWindow() == this) {
                throw new IllegalComponentStateException(
                    "Setting opacity for full-screen window is not supported.");
            }
            if (!gd.isWindowTranslucencySupported(
                GraphicsDevice.WindowTranslucency.TRANSLUCENT))
            {
                throw new UnsupportedOperationException(
                    "TRANSLUCENT translucency is not supported.");
            }
        }
        this.opacity = opacity;
        WindowPeer peer = (WindowPeer)getPeer();
        if (peer != null) {
            peer.setOpacity(opacity);
        }
    }
}
 
源代码17 项目: jdk-1.7-annotated   文件: Window.java
/**
 * Sets the opacity of the window.
 * <p>
 * The opacity value is in the range [0..1]. Note that setting the opacity
 * level of 0 may or may not disable the mouse event handling on this
 * window. This is a platform-dependent behavior.
 * <p>
 * The following conditions must be met in order to set the opacity value
 * less than {@code 1.0f}:
 * <ul>
 * <li>The {@link GraphicsDevice.WindowTranslucency#TRANSLUCENT TRANSLUCENT}
 * 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 opacity value is less than {@code 1.0f}, and any of the
 * above conditions are not met, the window opacity will not change,
 * and the {@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
 * current shape of this window (see {@link #setShape(Shape)}).
 *
 * @param opacity the opacity level to set to the window
 *
 * @throws IllegalArgumentException if the opacity is out of the range
 *     [0..1]
 * @throws IllegalComponentStateException if the window is decorated and
 *     the opacity is less than {@code 1.0f}
 * @throws IllegalComponentStateException if the window is in full screen
 *     mode, and the opacity is less than {@code 1.0f}
 * @throws UnsupportedOperationException if the {@code
 *     GraphicsDevice.WindowTranslucency#TRANSLUCENT TRANSLUCENT}
 *     translucency is not supported and the opacity is less than
 *     {@code 1.0f}
 *
 * @see Window#getOpacity
 * @see Window#setBackground(Color)
 * @see Window#setShape(Shape)
 * @see Frame#isUndecorated
 * @see Dialog#isUndecorated
 * @see GraphicsDevice.WindowTranslucency
 * @see GraphicsDevice#isWindowTranslucencySupported(GraphicsDevice.WindowTranslucency)
 *
 * @since 1.7
 */
public void setOpacity(float opacity) {
    synchronized (getTreeLock()) {
        if (opacity < 0.0f || opacity > 1.0f) {
            throw new IllegalArgumentException(
                "The value of opacity should be in the range [0.0f .. 1.0f].");
        }
        if (opacity < 1.0f) {
            GraphicsConfiguration gc = getGraphicsConfiguration();
            GraphicsDevice gd = gc.getDevice();
            if (gc.getDevice().getFullScreenWindow() == this) {
                throw new IllegalComponentStateException(
                    "Setting opacity for full-screen window is not supported.");
            }
            if (!gd.isWindowTranslucencySupported(
                GraphicsDevice.WindowTranslucency.TRANSLUCENT))
            {
                throw new UnsupportedOperationException(
                    "TRANSLUCENT translucency is not supported.");
            }
        }
        this.opacity = opacity;
        WindowPeer peer = (WindowPeer)getPeer();
        if (peer != null) {
            peer.setOpacity(opacity);
        }
    }
}
 
源代码18 项目: jdk8u-dev-jdk   文件: Window.java
/**
 * Sets the opacity of the window.
 * <p>
 * The opacity value is in the range [0..1]. Note that setting the opacity
 * level of 0 may or may not disable the mouse event handling on this
 * window. This is a platform-dependent behavior.
 * <p>
 * The following conditions must be met in order to set the opacity value
 * less than {@code 1.0f}:
 * <ul>
 * <li>The {@link GraphicsDevice.WindowTranslucency#TRANSLUCENT TRANSLUCENT}
 * 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 opacity value is less than {@code 1.0f}, and any of the
 * above conditions are not met, the window opacity will not change,
 * and the {@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
 * current shape of this window (see {@link #setShape(Shape)}).
 *
 * @param opacity the opacity level to set to the window
 *
 * @throws IllegalArgumentException if the opacity is out of the range
 *     [0..1]
 * @throws IllegalComponentStateException if the window is decorated and
 *     the opacity is less than {@code 1.0f}
 * @throws IllegalComponentStateException if the window is in full screen
 *     mode, and the opacity is less than {@code 1.0f}
 * @throws UnsupportedOperationException if the {@code
 *     GraphicsDevice.WindowTranslucency#TRANSLUCENT TRANSLUCENT}
 *     translucency is not supported and the opacity is less than
 *     {@code 1.0f}
 *
 * @see Window#getOpacity
 * @see Window#setBackground(Color)
 * @see Window#setShape(Shape)
 * @see Frame#isUndecorated
 * @see Dialog#isUndecorated
 * @see GraphicsDevice.WindowTranslucency
 * @see GraphicsDevice#isWindowTranslucencySupported(GraphicsDevice.WindowTranslucency)
 *
 * @since 1.7
 */
public void setOpacity(float opacity) {
    synchronized (getTreeLock()) {
        if (opacity < 0.0f || opacity > 1.0f) {
            throw new IllegalArgumentException(
                "The value of opacity should be in the range [0.0f .. 1.0f].");
        }
        if (opacity < 1.0f) {
            GraphicsConfiguration gc = getGraphicsConfiguration();
            GraphicsDevice gd = gc.getDevice();
            if (gc.getDevice().getFullScreenWindow() == this) {
                throw new IllegalComponentStateException(
                    "Setting opacity for full-screen window is not supported.");
            }
            if (!gd.isWindowTranslucencySupported(
                GraphicsDevice.WindowTranslucency.TRANSLUCENT))
            {
                throw new UnsupportedOperationException(
                    "TRANSLUCENT translucency is not supported.");
            }
        }
        this.opacity = opacity;
        WindowPeer peer = (WindowPeer)getPeer();
        if (peer != null) {
            peer.setOpacity(opacity);
        }
    }
}