论坛首页 Java企业应用论坛

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

浏览 8391 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-08-18  
  在进行Swing外观调整的时候发现com.sun.awt.AWTUtilities
  这个有SUN公司直接提供的的东东。
 于是就像试验一下。
结果发现这东西只能在 jdk-6u10 的版本中才能体现出来的;

//-------------------------------------
在官方有这样一句话:

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 发行之间发生轻微变化。

//-------------------------------------

所以当你的JDk版本不匹配的时候需要你将JDK插件更新。
可以在
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


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

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);
			}
		});
	}

}


//-----------------------------------------------
详细请参考:
https://jdk6.dev.java.net/6u10ea.html
http://developers.sun.com.cn/Java/translucent-and-shaped-swing-windows.html

//----------------------------------------------
这是几个测试的例子:
官方提供的:
  • windows.zip (35.5 KB)
  • 描述: 这是几个测试的例子(官方提供的): 可以作为参考进行编译查看。
  • 下载次数: 568
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics