如果鼠标在 JWindow 外部单击,如何使用 mouseClick 事件?

Posted

技术标签:

【中文标题】如果鼠标在 JWindow 外部单击,如何使用 mouseClick 事件?【英文标题】:How to consume mouseClick event if mouse clicked outside JWindow? 【发布时间】:2013-10-13 05:15:14 【问题描述】:

现在我正在寻找解决方案,如果在JWindow 外部单击鼠标,如何限制/使用mouseClicked 事件。例如 - JWindow 有两个按钮“是”和“否”(如对话框)。它的父级也有各种按钮 - 但在JWindow(对话框)可见期间它们必须处于非活动状态。我应该手动限制每个父母按钮的操作 - 还是有更好的解决方案?

【问题讨论】:

所以你可能已经实现了对话窗口。 【参考方案1】:

..一些更好的解决方案?

模态对话框。当模态对话框可见时,对父组件的访问被阻止。

更多详情请见How to Use Modality in Dialogs。

【讨论】:

是的,但是我已经使用JWindow.. 从头开始​​创建了自定义对话框。所以现在我需要以某种方式阻止对父组件的访问。越来越近:) “我使用JWindow从头开始创建了自定义对话框。” 为什么?听起来你想用母猪的耳朵做一个丝绸钱包。 在这种情况下我有更好的控制,但有时并不容易(就像我记得创建 ComboBox - 但结果很好)。 你知道对话框可以访问setUndecorated(true)吗?这使它看起来就像任何用户都可以区分的Window,但仍然保留了所有方便的模态功能。除此之外,我对帮助某人重新创建对话的兴趣..几乎为零。 "..except setModal(true);" 这是不小的能力。重现它将是一项艰巨的任务。

以上是关于如果鼠标在 JWindow 外部单击,如何使用 mouseClick 事件?的主要内容,如果未能解决你的问题,请参考以下文章

Mac OSX上使用Java 7的透明JFrame / JWindow

如何在不闪烁的情况下调整 Swing JWindow 的大小?

如何使用java模拟真实的鼠标点击?

如何使用 jQuery 在单击和鼠标悬停时使可滚动的 div 滚动

如何使用 WebBrowser 控件模拟鼠标单击

单击外部链接后悬停效果仍然存在