JWindow在Java中的半透明背景(不使用屏幕截图)

Mic*_*rry 3 java swing translucency

我已经看到了这个问题的其他答案和黑客,但似乎没有人完全按照我的意思去做.

基本上,我是在一个JWindow之后,它的背景是半透明的,但窗口本身的内容(按钮,文本等)是不透明的.到目前为止我看到的方法分为两类:

  • 从窗口后面截取屏幕并使用它们(http://onjava.com/pub/a/onjava/excerpt/swinghks_hack41/index.html) - 这在这种情况下并不太好,因为它太慢了,我想要能够将视频之类的东西放在窗户后面并让它显示出来
  • 使整个窗口半透明(包括我需要保持不透明的组件.)

我要求的是可能的,如果是这样,它会怎么做?如果没有,Java 7是否会提供任何方法来使这更容易/可能?我知道它为形状窗户提供了更多支持,所以我想知道是否有什么东西可以解决这个问题.我一直在寻找一段时间,但没有运气.

Chu*_*Lee 8

只有在使用JDK 6 update 10及更高版本时才能执行此操作.还必须支持硬件加速.看到

http://download.oracle.com/javase/tutorial/uiswing/misc/trans_shaped_windows.html