在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);
相关推荐
### JDK 7.0 中实现半透明窗体 随着 Java 技术的不断发展和完善,Java 开发者们有了更多的选择来提升用户界面的美观性和功能性。JDK 7.0 的发布标志着 AWT (Abstract Windowing Toolkit) 正式支持半透明窗体,这为...
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...
### JDK 7 (Java Development Kit 7) 版本介绍 #### 一、JDK 7 概述 JDK 7(Java Development Kit 7)是Java平台的一个重要版本,由Oracle公司发布。它是Java SE 7标准的实现,为开发者提供了用于编写Java应用程序...
《深入解析JDK7在Aarch64架构下的应用与实践》 在当前的IT行业中,随着国产化软硬件的快速发展,对支持多种架构的软件需求日益增长。JDK7-aarch64-uos.tar.gz这个压缩包文件,便是针对arm64与aarch64架构的Linux...
在ARM64架构下,JDK 7可能包括对ARM...此外,还有其他社区和开发者为ARM64架构提供了JDK 7的构建版本,例如Arch Linux ARM提供了jdk7-openjdk 7.u261_2.6.22-1包,这是一个OpenJDK Java 7开发工具包,适用于aarch64架构
在JDK 1.6版本中,Java引入了一些新特性,使得开发者能够创建更具吸引力和创新性的应用,比如不规则窗体和透明窗体。这些特性极大地扩展了Java GUI设计的可能性,让开发者能够构建出更符合用户审美的应用程序。 不...
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是Oracle公司发布的第七个主要版本,它在JDK6的基础上增加了一些新特性,改进了性能,并修复了许多已知问题。Windows 32位版本的JDK7是专门为在32位操作系统环境下运行而设计的,确保了在这样的平台上开发和运行...
jdk7chm,java7帮助,jdk7api,jdk1.7帮且文档,jdk7api chm,JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK。JDK 是整个Java的核心,包括了...
jdk7 32位最新版本,官网下载jdk7 32位最新版本,官网下载jdk7 32位最新版本,官网下载jdk7 32位最新版本,官网下载jdk7 32位最新版本,官网下载jdk7 32位最新版本,官网下载
jdk7 jdk8 jdk9 jdk10 jdk11 jdk12 jdk13 jdk14 (win-64位) 资源共享
Java 7,也被称为JDK 7或Java SE 7 (Java Standard Edition 7),是在2011年发布的,引入了多项重要的新特性和改进。以下是其中的关键亮点: 1. **多语言支持**:Java 7增加了对其他编程语言的支持,如Groovy、Scala...
Java JDK 7是Java开发工具包的一个重要版本,它的全称是Java Development Kit,是用于构建和运行Java应用程序的关键组件。这个PDF学习笔记是开发者深入理解JDK 7特性和功能的重要参考资料。以下是对Java JDK 7的一些...
### JDK 7 (Java Development Kit 7) 版本特性及安装指南 #### 一、JDK 7 概述 JDK 7(Java Development Kit 7)是Oracle公司发布的Java开发工具包的一个版本,它包含了开发Java应用程序所需的工具、文档以及库...
JDK7是Oracle公司发布的Java平台的一个重要版本,它的全称为"Java SE 7"(Java Standard Edition 7)。这个版本在2011年发布,引入了许多新特性和改进,旨在提升开发效率和增强程序性能。 1. **多语言支持**:JDK7...
JDK7和JDK8是两个不同版本的JDK,每个版本都有其特定的功能和改进,对于开发者来说,了解它们的区别和特性至关重要。 首先,JDK7是Java平台的一个重大更新,正式版本为7u40,它引入了多项新特性,如Try-with-...
jdk7免安装版,可以正常使用,有问题可以联系我,JDK(Java Development Kit)就是Java的开发工具包,无论是开发javase,javaee,javaee.是给Java开发者必须用到的开发工具
jdk7 jdk8 jdk9 jdk10 jdk11 jdk12 jdk13 jdk14 (linux-rpm 64位) 资源共享
### JDK 7 下载及其相关知识点 #### 一、JDK 7 概述 Java Development Kit (JDK) 是由Sun Microsystems(后被Oracle公司收购)提供的Java开发工具包,是开发Java应用程序的基础。JDK 7 作为Java SE 7 的标准实现,...
在这个压缩包里,我们有两个主要的文件:`jdk-7u80-linux-i586.tar.gz` 和 `JDK安装.pdf`。这些文件都是针对Linux操作系统的,特别是对于使用32位(i586)架构的系统。 `jdk-7u80-linux-i586.tar.gz` 是JDK 7更新80...