com.sun.awt.AWTUtilities / 透明和不规则 Swing 窗口

[color=blue] 在进行Swing外观调整的时候发现com.sun.awt.AWTUtilities
  这个有SUN公司直接提供的的东东。
 于是就像试验一下。
结果发现这东西只能在 jdk-6u10 的版本中才能体现出来的;[/color]
//-------------------------------------
[color=red]在官方有这样一句话:

Java SE 6 Update N, 通常称作 Consumer JRE, 是 Sun 公司的努力成果,为重新配置 Java 将其作为开发富桌面应用程序的可行方法。在 Consumer JRE 中的新功能和主要改进列表相当广泛,并将特别闪耀的宝石隐藏在最新一周构建代码之一的发行说明中。

   在进一步研究之前,有一个非常重要的注意事项。由于 Consumer JRE 被官方认为是对稳定 JDK 发行的一个次要更新,因此在“公共”包中不能添加任何新的 API( 类、方法等等 ),例如 java.awt 或 javax.swing。在本文中讨论的所有 API 在新 com.sun.awt.AWTUtilities 类中出现,该类不是官方支持的部分 API。它在 Java SE 7 中的位置最有可能发生改变,签名方法可能在现在和最终的 Consumer JRE 发行之间发生轻微变化。[/color]
//-------------------------------------

所以当你的JDk版本不匹配的时候需要你将JDK插件更新。
可以在
[color=brown]https://jdk6.dev.java.net/6u10ea.html

Java SE 6 Runtime (JRE) Update 10 build 28 Windows Online Installer
Java SE 6 Runtime (JRE) Update 10 build 28 Windows Offline Installer
jdk-6u10-rc-bin-b28-windows-i586-debug-21_jul_2008.jar[/color]

下载安装以后:找到这样的一段在官方的代码运行结果令我很是满意。
代码如下:


import java.awt.*;
import javax.swing.*;

public class TranslucentWindow extends JFrame {
public TranslucentWindow() {
super("Test translucent window");
this.setLayout(new FlowLayout());
this.add(new JButton("test"));
this.add(new JCheckBox("test"));
this.add(new JRadioButton("test"));
this.add(new JProgressBar(0, 100));

this.setSize(new Dimension(400, 300));
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

public static void main(String[] args) {
JFrame.setDefaultLookAndFeelDecorated(true);
SwingUtilities.invokeLater(new Runnable() {
public void run() {
Window w = new TranslucentWindow();
w.setVisible(true);

//要使窗口透明,您可以使用 AWTUtilities.setWindowOpacity(Window, float) 方法
com.sun.awt.AWTUtilities.setWindowOpacity(w, 0.5f);
}
});
}

}


//-----------------------------------------------
详细请参考:
[color=red][url]https://jdk6.dev.java.net/6u10ea.html[/url]
[url]http://developers.sun.com.cn/Java/translucent-and-shaped-swing-windows.html[/url]
[/color]
//----------------------------------------------
这是几个测试的例子:
官方提供的:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值