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

标签 java swing translucency

我已经看到了这个问题的其他答案和技巧,但似乎没有一个能完全满足我的要求。

本质上,我在寻找一个 JWindow,它的背景是半透明的,但窗口本身的内容(按钮、文本等)是不透明的。到目前为止,我看到的方法属于以下两类之一:

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

我所要求的是否可行,如果可行,将如何完成?如果没有,Java 7 会提供任何方法使这更容易/成为可能吗?我知道它为异形窗口内置了更多支持,所以我想知道是否有什么东西也可以解决这个问题。我已经搜索了一段时间,但没有成功。

最佳答案

只有在使用 JDK 6 update 10 及更高版本时才能完成。还必须支持硬件加速。见

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

关于java - Java 中 JWindow 的半透明背景(不使用屏幕截图),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4754526/

相关文章:

java - 模拟 ResourceInfo 的 getResourceClass

java - 与 GridbagLayout 一起使用时,setSize()、setMaximumSize()、setMinimumSize() 之间有什么区别

java - Sikuli 问题 - 捕获一个区域

java - 半透明窗口内的半透明 JPopupMenu - 替代方案?

java - 在理解 swing 代码方面需要帮助

java - 输入凭据,然后将 JSON 发布到 api java

java - jpa hibernate @transactional 配置

java - executorService 接口(interface)的 ShutdownNow 不会关闭正在进行的任务

java - Repaint方法更新太慢

android - 无法使我的 Activity 窗口半透明