我希望实现以下内容:当我的应用程序执行一些critics操作或产生一些错误时,我希望显示一个警告JDialog,告诉用户发生了什么。
现在,因为一些错误可能会使我的应用程序处于不一致的状态,所以在它们得到解决之前,我想暂时禁用对所有组件的鼠标事件调度(包括JMenu、JToolbar、..),但显示的JDialog除外。
有没有办法做到这一点?或者我必须手动从我的应用程序的所有组件中删除所有鼠标侦听器,然后重新添加它们?
发布于 2011-03-08 18:19:02
使用setModal(true)将对话框设置为“模式”。
发布于 2011-03-08 18:18:54
最简单的方法是调用
frame.setEnabled(false);其中frame是您的顶级窗口。
请注意,上面的解决方案可能会改变帧的外观,直到它再次启用。为了真正的控制,人们玩弄着EventQueue。
https://stackoverflow.com/questions/5231046
复制相似问题