我想实现以下内容: 当我的应用程序执行一些批评操作或产生一些错误时,我想显示一个警告JDialog告诉用户发生了什么。
现在,因为一些错误可能会使我的应用程序处于不一致状态,直到它们被解析,我想暂时禁用鼠标事件调度到所有组件(包括JMenu,JToolbar,..),除了显示的JDialog。
有没有这样做?或者我必须从我的应用程序的所有组件中手动删除所有鼠标侦听器,并在以后重新添加它们?
答案 0 :(得分:6)
使用setModal(true)
将对话框设为“模态”。
答案 1 :(得分:-3)
最简单的方法是致电
frame.setEnabled(false);
其中frame是您的顶级窗口。
请注意,上面的soln可能会改变帧的外观,直到再次启用它为止。对于真正的控制,人们可以使用EventQueue。