[英]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.