gpt4 book ai didi

单个面板的 Java Swing GlassPane 功能?

转载 作者:行者123 更新时间:2023-12-02 00:18:35 27 4
gpt4 key购买 nike

我构建了一个简单的界面来填充我的整个 JFrame。我正在使用在互联网上发现的 FinalGlassPane 类的版本 here .

此玻璃 Pane 没有常规事件监听器,但它监视其基础组件的 AWTEvents。这样,界面就具有完整的功能,我可以使用单个 AWTEvent 处理程序响应全局鼠标移动坐标,并相应地在所有内容之上进行绘制。一切都很好,但现在我需要这个功能的副本,每个功能都有自己的坐标空间和事件处理程序,位于主 JFrame 内。我刚刚了解了 JLayeredPane,但想确保使用它可以实现此功能。 IE 在顶部添加一个完全透明但可绘制的 JPanel 层,用它处理 AWTEvents,并且仍然可以正常触发底层事件。

编辑:我正在阅读有关在 JDesktopPane 内部使用多个 JInternalFrame (和相关玻璃 Pane )的信息。我认为 JDesktopPane 不能与布局管理器一起使用,因此我必须在需要时绝对定位/调整 2 个框架的大小,但这可能是最好的选择。结束编辑

我想做的最后一件事是为每个界面组件添加鼠标移动监听器,并且必须转换为父面板坐标才能运行相同的方法。

如果必须的话,我可以继续监视整个玻璃 Pane 的鼠标坐标,并找出如何从那里分支逻辑。不过,独立和个性化会更好。

作为最后一个警告,我想最终将其带到 Android,但对 Android 图形一无所知。如果没有分层面板功能,我几乎宁愿首先以更难、更便携的方式实现它。

最佳答案

这可以通过使用 JXLayer 来完成或JLayer如果您使用的是 Java 7。总的来说,JXLayer/JLayer 的功能优于 GlassPane。

基于 Swing/AWT 的解决方案无法在 Android 上运行 - 您必须在那里使用 Android 特定组件。

关于单个面板的 Java Swing GlassPane 功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11463870/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com