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 @   伟衙内  阅读(33)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示