是否可以在java 7中使用半透明窗口,包括标题栏?

与此问题相关: Java Tutorials半透明窗口示例是否给那些使用jdk7的人带来麻烦?

使用jdk1.6.0_26我似乎能够将半透明应用于JFrame,但jre7不是这样:

NativeException:java.awt.IllegalComponentStateException:框架已修饰

ex(jruby脚本java,工程jdk1.6虽然没有jdk7):


要求'java'

类MouseDraw

   def self.go
     java_import'javax.swing.JFrame'
     java_import'com.sun.awt.AWTUtilities'

     f = JFrame.new
     AWTUtilities.set_window_opacity(f,0.5)
     f.set_size 200,200
     f.show
  结束

结束
 MouseDraw.go

所以我的问题是“是否有可能在jdk7中有一个半透明的标题栏”(我想要一个透明窗口,我正在创建可拖动/可resize)

令人着迷的是,如果你补充一下

 JFrame.setDefaultLookAndFeelDecorated(true); 

然后它允许你有一个可拖动的标题栏JFrame(它只是使用丑陋的Java外观)。

ref:将鼠标事件传递给Java UI后面的应用程序

现在这很奇怪。

另请注意,您可以使用每像素透明度“伪造”旧行为,请参阅http://docs.oracle.com/javase/tutorial/uiswing/misc/trans_shaped_windows.html

所以你可以在java 6和7中都有旧的行为,但是你必须特殊地使用它周围的代码,并以一种方式为另一种方式,另一种方式,可能……