com.sun.awt.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类

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章