繁体   English   中英

显示JDialog时全局禁用所有鼠标输入

[英]Globally disable all mouse input when a JDialog is showed

我想实现以下内容:当我的应用程序执行一些批注操作或产生一些错误时,我想显示一个警报JDialog来告诉用户正在发生的事情。

现在,由于某些错误可能会使我的应用程序处于不一致状态,因此在解决之前,我想暂时禁用对显示的JDialog之外的所有组件(包括JMenu,JToolbar,..)的鼠标事件分发。

反正有这样做吗? 还是我必须从应用程序的所有组件中手动删除所有鼠标侦听器,然后在以后重新添加它们?

使用setModal(true)将对话框设置为“模态”对话框。

最简单的方法是打电话

frame.setEnabled(false);

框架是您的顶层窗口。

请注意,上述解决方案可能会更改框架的外观,直到再次启用它为止。 对于真正的控制,人们可以玩EventQueue。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM