在 swingworker 工作时禁用一切?

Posted

技术标签:

【中文标题】在 swingworker 工作时禁用一切?【英文标题】:Disabling everything while swingworker is working? 【发布时间】:2015-02-05 13:55:32 【问题描述】:

我已经在网上搜索过,但找不到可以帮助我的具体内容。我让我的 Swing Worker 类在后台做一些工作,同时我想禁用我的 UI 上的所有内容。

我不想从一个按钮转到下一个按钮(Jlist、Jtable)等并禁用一切。有没有更简单的方法;就像在我的 UI 上绘制一些东西,然后在 Swing Worker 完成后将其移除?有人可以告诉我如何做这样的事情。或者你有什么建议。

我已经知道如何在 Swing Worker 完成时收到通知。只是在寻找禁用一切的最佳方法。

【问题讨论】:

this 或 this 或 this 或 this 怎么样 【参考方案1】:

最好以递归方式解析您的 JFrame.getChildren()。

但您也可以使用 GlassPane - 请参阅 Root Panes

【讨论】:

以上是关于在 swingworker 工作时禁用一切?的主要内容,如果未能解决你的问题,请参考以下文章

java遇到的问题及解答

java - JLabel setForeground 在 SwingWorker 中不起作用

Java中的SwingWorker [关闭]

线程限制/swingworkers

发布/处理使 SwingWorker 变慢

SwingWorker 在方法 LockSupport.park() 中等待很长时间