1

我需要将半透明的AWT组件/容器放置在其他组件之上以接收鼠标事件。

这里的问题是创建一个半透明的组件。到目前为止,我的调查表明 Swing 有可能setOpaque(false)在例如 JPanel 上进行操作。AWT 有类似的东西吗?

这个想法是通过简单地单击某处并移动鼠标来使 ScrollPane 可滚动。这就是为什么我需要一个透明组件将其置于所有其他组件之上。

长话短说,我需要一个半透明的组件,不管是哪一个,放在其他元素之上来接收鼠标事件。

提前致谢

4

2 回答 2

1

AFAIK 无法正确用于史前AWT Container and Components,您可以尝试将此代码从 Swing 更改为 AWT,仅支持半透明Swing JComponents

于 2012-02-15T09:56:24.077 回答
0

JNA 项目提供了一些用于使 AWT 组件半透明的实用程序。该功能有一个WebStart 演示。窗口透明度实用程序位于 platform.jar 中,它扩充了基础 jna.jar。

但是,如果您只想捕获鼠标事件,则应查看 JFrame 中已内置的不同层。该组件已经通过 JLayeredPane 有了层的概念,您可以很容易地将 JPanel 用作玻璃窗格,它位于所有其他组件之上以过滤事件。

于 2012-02-15T20:01:20.913 回答