【发布时间】:2011-01-11 02:58:28
【问题描述】:
我已经研究了几个小时,但没有找到任何可以指导我的方法。我有一个在 SwingWorker 中执行一些后台处理的 Windows Swing GUI 程序。这还使用进度对话框让用户知道后台处理需要多长时间。
该系统的最初设计者决定禁用用户界面的鼠标和键盘输入,进度对话框上的“取消”按钮除外。他们通过使用忽略所有鼠标和键盘事件的玻璃窗格来做到这一点。
实际的问题是,如果发生用户 alt-tab 或屏幕保护程序,则玻璃窗格后面的用户界面永远不会重新绘制。进度对话框重绘,但这是由于 SwingWorker 定期调用重绘以更新进度。
我想知道下一步该去哪里找任何建议。我无法在 Java 中找到有关 alt-tab 重绘的任何内容。也许进度对话框根据定义是模态的,防止 EDT 重新绘制?或者玻璃板可能会阻止“隐藏”组件的重绘?
谢谢, 瑞恩
【问题讨论】:
-
只需对您认为有帮助的答案进行投票;如果没有“最适合我的需求”,则无需接受。
标签: java windows swing windowlistener