AWTUtilities

有时候,在Java中我们会设置窗口的透明度,有第三方方法,但JDK包中自带的也有一种方法:

就是导入com.sun.awt.AWTUtilities

 

[java]  view plain copy
  1. package com.lovemu.snow;  
  2.   
  3. import java.awt.Color;  
  4.   
  5. import javax.swing.JFrame;  
  6.   
  7. import com.sun.awt.AWTUtilities;  
  8.   
  9. public class Alpha extends JFrame {  
  10.   
  11.     /** 
  12.      * @author lovemu 
  13.      * 透明窗体 
  14.      */  
  15.     private static final long serialVersionUID = 1L;  
  16.     public Alpha(){  
  17.         this.setBackground(Color.pink);  
  18.         this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
  19.         this.setSize(200,100);  
  20.         this.setTitle("lovemu");  
  21.         this.setLocationRelativeTo(null);  
  22.     }  
  23.     public static void main(String[] args) {  
  24.         Alpha alpha=new Alpha();  
  25.         //alpha.setUndecorated(true);//设置是否装饰,即是否去掉标题栏等  
  26.         AWTUtilities.setWindowOpacity(alpha, 0.6f);//设置透明度  
  27.         alpha.setVisible(true);  
  28.     }  
  29.   
  30. }  


其中,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

posted @ 2015-04-14 13:43  伟衙内  阅读(33)  评论(0编辑  收藏  举报