在jdk6中设置透明异形窗体的方法与jdk7方法的比较
AWTUtilities.isTranslucencySupported(Translucency) |
GraphicsDevice.isWindowTranslucencySupported(WindowTranslucency) |
AWTUtilities.isTranslucencyCapable(GraphicsConfiguration) |
GraphicsConfiguration.isTranslucencyCapable() |
AWTUtilities.setWindowOpacity(Window, float) |
Window.setOpacity(float) |
AWTUtilities.setWindowShape(Window, Shape) |
Window.setShape(Shape) |
AWTUtilities.setWindowOpaque(boolean) |
Window.setBackground(Color) Passing new Color(0,0,0,alpha) to this method, wherealpha is less than 255, installs per-pixel translucency. |
jdk7判断操作系统是否支持透明窗体的设置
- // Determine what the default GraphicsDevice can support.
- GraphicsEnvironment ge = GraphicsEnvironment
- .getLocalGraphicsEnvironment();
- GraphicsDevice gd = ge.getDefaultScreenDevice();
- boolean isUniformTranslucencySupported = gd
- .isWindowTranslucencySupported(TRANSLUCENT);//是否支持全部统一透明度的窗体
- boolean isPerPixelTranslucencySupported = gd
- .isWindowTranslucencySupported(PERPIXEL_TRANSLUCENT);//是否每部分不同透明度的窗体
- boolean isShapedWindowSupported = gd
- .isWindowTranslucencySupported(PERPIXEL_TRANSPARENT);//是否支持异性窗体
- System.out.println("isUniformTranslucencySupported:"+isUniformTranslucencySupported);
- System.out.println("isPerPixelTranslucencySupported:"+isPerPixelTranslucencySupported);
- System.out.println("isShapedWindowSupported:"+isShapedWindowSupported);
1.统一透明度窗体的设置
- GraphicsEnvironment ge = GraphicsEnvironment
- .getLocalGraphicsEnvironment();
- GraphicsDevice gd = ge.getDefaultScreenDevice();
- boolean isUniformTranslucencySupported = gd
- .isWindowTranslucencySupported(TRANSLUCENT);//是否支持全部统一透明度的窗体
- if(isUniformTranslucencySupported)
- {
- JFrame.setDefaultLookAndFeelDecorated(true);
- JFrame jf=new JFrame("统一透明度");
- jf.setLayout(new GridBagLayout());
- Button bu=new Button("这是个按钮");
- jf.add(bu);
- jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- jf.setBounds(100, 60, 200, 300);
- jf.setOpacity(0.8f);
- jf.setVisible(true);
- }
刚开始一直弄官方例子http://download.oracle.com/javase/tutorial/uiswing/misc/trans_shaped_windows.html,发现一直报错
- Exception in thread "AWT-EventQueue-0" java.awt.IllegalComponentStateException: The frame is decorated
- at java.awt.Frame.setOpacity(Unknown Source)
原来setOpacity方法说明
- The TRANSLUCENT translucency must be supported by the underlying system
- The window must be undecorated (see setUndecorated(boolean) and Dialog.setUndecorated(boolean))
- The window must not be in full-screen mode (see GraphicsDevice.setFullScreenWindow(Window))
1.操作系统必须支持设置透明方法
2.窗体必须未修饰(无标题栏)
3.窗体必须非全屏模式
加上一句
- JFrame.setDefaultLookAndFeelDecorated(true);
相关推荐
AWT是Abstrac tWindowing Toolkit的缩写,包含...JDK7.0即将发布,这个版本中AWT正式支持半透明窗体。文章介绍了不同层面上的半透明效果,给出使用方法和条件,并从源代码的角度分析实现机制,为开发、测试和维护提供依据。
JDK7安装包.zip\JDK7安装包.zip\JDK7安装包.zip\JDK7安装包.zip\JDK7安装包.zip JDK7安装包.zip\JDK7安装包.zip\JDK7安装包.zip\JDK7安装包.zip\JDK7安装包.zip JDK7安装包.zip\JDK7安装包.zip\JDK7安装包.zip\JDK7...
jdk7j下载jdk7j下载jdk7j下载jdk7j下载jdk7j下载jdk7j下载jdk7j下载jdk7j下载jdk7j下载jdk7j下载jdk7j下载jdk7j下载jdk7j下载
jdk7 jdk8 jdk9 jdk10 jdk11 jdk12 jdk13 jdk14 (win-64位) 资源共享
jdk7chm,java7帮助,jdk7api,jdk1.7帮且文档,jdk7api chm,JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK。JDK 是整个Java的核心,包括了...
jdk-7u80-windows-x64安装包 jdk-7u80-windows-x64安装包 jdk-7u80-windows-x64安装包 jdk-7u80-windows-x64安装包 jdk-7u80-windows-x64安装包 jdk-7u80-windows-x64安装包 jdk-7u80-windows-x64安装包 jdk-7u80-...
jdk7 jdk-7u80-linux-x64 网盘下载
1.1 JDK7新特性<一>概述 . . . . . . . . . . . . . . 1.2 JDK7新特性<二> 语法 . . . . . . . . . . . . . 1.3 JDK7新特性<三> JDBC4.1 . . . . . . . . . . 1.4 JDK7新特性<四> NIO2.0 文件系统 . . . 1.5 JDK...
jdk7,openjdk7,适用于arm64、aarch64架构linux等国产化服务器,如银河麒麟V10、uos等服务器系统。 详细信息 jdk7 arm64 aarch64 。亲测可用。
jdk7免安装版,可以正常使用,有问题可以联系我,JDK(Java Development Kit)就是Java的开发工具包,无论是开发javase,javaee,javaee.是给Java开发者必须用到的开发工具
jdk-7u80-windows-x64.exe 【官方下载的jdk1.7、jdk7,windows 64位版】
Java实现不规则窗体,透明窗体,JDK1.6新特性..演示源代齐全..
JDK1.7最终版,jdk-7u80,包含文件如下: jdk-7u80-linux-i586.gz jdk-7u80-linux-x64.tar.gz jdk-7u80-windows-i586.exe jdk-7u80-windows-x64.exe
jdk-7u79-windows-i586.exe JDK7 稳定版 源官方下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
jdk7安装包jdk7安装包jdk7安装包jdk7安装包jdk7安装包jdk7安装包jdk7安装包
linux平台的64位版本jdk7,官方原版,hash可匹配验证 。
Mac版的jdk7,官网好像不好下,得登录Mac版的jdk7,官网好像不好下,得登录Mac版的jdk7,官网好像不好下,得登录Mac版的jdk7,官网好像不好下,得登录Mac版的jdk7,官网好像不好下,得登录Mac版的jdk7,官网好像不好...
JAVA JDK7 1.7.80 Windows 32位版本,生产环境中亲自安装好用。
Java JDK 7学习笔记 PDF
jdk7安装程序