关于Java Swing中的透明窗体
2014-02-23 00:03
603 查看
说到桌面应用,大家肯定都希望自己做的界面能炫一点,酷一点。不知什么时候起,桌面UI的设计硬是刮起了透明效果的风暴,好像谁的窗体不透明就不够IN。ADOBE PHOTOSHOP CS3和CS2相比,工具栏就变成了半透明毛玻璃效果。VISTA更是不能不说,窗体的边框都是玻璃效果的。WIN 7 也沿袭了VISTA的这种界面效果。
用Swing怎么做出半透明的窗体效果呢?<Swing Hacks>这本书里介绍的是用截屏的方式伪造的透明效果。因为这本书写的时候jdk1.6 update 10还没出来。现在我们可以是用sun的API来做个透明效果的窗体。也就几行代码。
f.setUndecorated(true);// 不绘制窗体的边框和标题栏。(Optional)
com.sun.awt.AWTUtilities.setWindowOpacity(f, 0.5F);// 设置整个窗体的不透明度为0.5
这样出现的窗体就是半透明的,包括窗体上的子组件也是半透明的。
不过,若是只想让窗体半透明,而窗体上的组件还是正常的怎么办呢?可以这样:
f.setUndecorated(true); // 不绘制窗体的边框和标题栏。(Mandatory,否则下面一行代码会抛异常)
com.sun.awt.AWTUtilities.setWindowOpaque(f,false);
这样完全就没有了窗体背景了。用一张半透明的png图片作为背景。这种方法还可以用来做一个自定义形状的窗体。(需要写一个ImagePanel类,并覆盖paintComponent()方法)。
注意:没有了窗体的边框和标题栏,就不能对窗体进行默认的拖动、resize、关闭、最大化了。需要自己补充这些功能。
用Swing怎么做出半透明的窗体效果呢?<Swing Hacks>这本书里介绍的是用截屏的方式伪造的透明效果。因为这本书写的时候jdk1.6 update 10还没出来。现在我们可以是用sun的API来做个透明效果的窗体。也就几行代码。
f.setUndecorated(true);// 不绘制窗体的边框和标题栏。(Optional)
com.sun.awt.AWTUtilities.setWindowOpacity(f, 0.5F);// 设置整个窗体的不透明度为0.5
这样出现的窗体就是半透明的,包括窗体上的子组件也是半透明的。
不过,若是只想让窗体半透明,而窗体上的组件还是正常的怎么办呢?可以这样:
f.setUndecorated(true); // 不绘制窗体的边框和标题栏。(Mandatory,否则下面一行代码会抛异常)
com.sun.awt.AWTUtilities.setWindowOpaque(f,false);
这样完全就没有了窗体背景了。用一张半透明的png图片作为背景。这种方法还可以用来做一个自定义形状的窗体。(需要写一个ImagePanel类,并覆盖paintComponent()方法)。
注意:没有了窗体的边框和标题栏,就不能对窗体进行默认的拖动、resize、关闭、最大化了。需要自己补充这些功能。
相关文章推荐
- 关于Swing实现透明窗体的。我也很喜欢,收藏!
- Java Swing中的透明窗体(Windows中消息提示框的制作)
- 关于Java Swing的窗体关闭事件的调用关系
- 关于Swing实现透明窗体
- 关于 java swing 中的repaint 和 revalidate 含义
- Java Swing 窗体居中
- Java Swing JInternalFrame 为什么显示为透明(背景重合)
- java swing中添加菜单和选项卡窗体
- Java Swing界面编程(21)---事件处理:窗体事件
- java Swing 窗体设计
- SWING实现窗体透明效果
- think in java第十三章关于老式awt、新式awt以及Swing的读书笔记
- java-swing-设置窗体大小
- java swing中添加菜单和 选项卡窗体 。
- Java Swing快速构建窗体应用程序
- java swing中添加菜单和选项卡窗体
- JAVA SWING第一个窗体应用程序
- Java Swing实现窗体添加背景图片的2种方法详解
- java swing中添加菜单和 选项卡窗体 。
- Swing 透明窗体实现