如果鼠标在 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 的大小?