AWTUtilities
有时候,在Java中我们会设置窗口的透明度,有第三方方法,但JDK包中自带的也有一种方法:
就是导入com.sun.awt.AWTUtilities
- package com.lovemu.snow;
- import java.awt.Color;
- import javax.swing.JFrame;
- import com.sun.awt.AWTUtilities;
- public class Alpha extends JFrame {
- /**
- * @author lovemu
- * 透明窗体
- */
- private static final long serialVersionUID = 1L;
- public Alpha(){
- this.setBackground(Color.pink);
- this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- this.setSize(200,100);
- this.setTitle("lovemu");
- this.setLocationRelativeTo(null);
- }
- public static void main(String[] args) {
- Alpha alpha=new Alpha();
- //alpha.setUndecorated(true);//设置是否装饰,即是否去掉标题栏等
- AWTUtilities.setWindowOpacity(alpha, 0.6f);//设置透明度
- alpha.setVisible(true);
- }
- }
其中,com.sun.awt.AWTUtilities需要额外导入(以Eclipse为例:):
项目名上右键:
其中,rt.jar来自于D:\Java\jdk1.6.0_10\jre\lib,其中D:\Java为JDK安装目录:
至此,程序中就可以使用该包了..
遗憾的是,加入了该包后,程序就不具有跨平台性了,因为以com.sun/sun开头的是属于非公开/为了实现jre的、没有后续保证,即未包括在发布的JDK中..
如果要具有跨平台性,可以使用第三方jar包,如使用 jna.jar + platform.jar 提供的WindowUtils类
这里我要补充一点:
1.在图中 order and export中,将rt.jar 的顺序放在jre system library 之前,这样才可以使用
PS,转载于:http://blog.csdn.net/aigochina/article/details/8236072