有时候,在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类
分享到:
相关推荐
包含java界面设计中com.sun.awt.AWTUtilities ,及组件开发com.corba等开发库
com.sun.awt.AWTUtilities.setWindowOpaque(f,false);//设置窗体透明 JPanel p=new JPanel(){ public void paintComponent(Graphics g){//重写paintComponent super.paintComponent(g);//继承的绘制组件...
在Java编程中,窗体透明化是一个常见的需求,特别是在创建具有现代感的...不过要注意,由于`com.sun.awt.AWTUtilities`并不是标准的Java API,所以在某些平台上可能无法正常工作,因此在生产环境中使用时要特别谨慎。
尽管这些新功能并未正式纳入公共API,而是通过非官方支持的`com.sun.awt.AWTUtilities`类提供,但其实现的便利性和性能表现令人瞩目。 - **透明窗口**:`AWTUtilities.setWindowOpacity(Window, float)`方法允许...
- 当`JSlider`值改变时,通过`com.sun.awt.AWTUtilities.setWindowOpacity`方法设置窗体的透明度。这个方法接受两个参数:当前窗体的引用和一个介于0.0到1.0之间的浮点数,表示不透明度。值越小,窗体越透明。 4. ...
在Java中,通过使用`com.sun.awt.AWTUtilities`类中的方法,可以实现窗口透明效果。本文将详细讲解如何使用Java编写一个简单程序来实现透明界面,并允许用户通过滑块调整透明度。 #### 二、核心概念与技术点 #####...
窗体的透明效果通过`com.sun.awt.AWTUtilities.setWindowOpaque(frame, false)`实现,这是一个非标准的Java API,可能在某些平台上不可用。为了支持窗体拖动,程序监听了鼠标点击事件,记录点击坐标,并在鼠标移动时...
例如,我们可以使用`com.sun.awt.AWTUtilities` 类(注意,这是一个非公开API,可能在不同的Java版本中存在或消失)来创建快捷方式,或者使用像`JShellLink` 这样的第三方库。 创建快捷方式的基本步骤如下: 1. **...
但是,从Java 6 Update 10开始,Sun Microsystems(后来被Oracle收购)引入了一个名为`com.sun.awt.AWTUtilities`的非公开类,它提供了一些额外的功能,其中包括设置窗口的不透明度。因此,要实现JFrame的透明效果,...