8得票4回答
SwingWorker为什么会意外停止?

我想尝试使用SwingWorker来实现一些想法,因为我还没有太多的使用经验。但是,我遇到了一个问题,无法弄清楚出了什么问题。 这里有一个简短的SSCCE,演示了这个问题(我知道这里的人喜欢SSCCE): import javax.swing.SwingUtilities; import ...

8得票1回答
Java SwingWorker和多线程

我正在设计一个Java GUI驱动的应用程序,它运行许多独立的任务,每个任务都在其自己的SwingWorker扩展类中执行。这是我通常使用的正常设计,以便在其自己的线程上运行任务,并仍然保持EDT空闲以更新GUI。每个SwingWorker都使用Executors.newCachedThrea...

8得票4回答
为什么SwingWorker#setProgress被限制在[0, 100]之间?

SwingWorker#setProgress方法如果参数不在0到100之间会抛出IllegalArgumentException异常。我认为 setProgress方法的主要目的是更新一个JProgressBar(就像这个教程中所述)。如果是这样,为什么要限制SwingWorker的进度在[...

8得票1回答
我是否在事件分发线程之外更新Swing组件?

我阅读了很多关于Swing,线程,invokeLater(),SwingWorker等的文献,但就是无法理解,因此我试图创建一个非常简单的程序来说明。我看了很多例子,但没有一个能够展示我想要做的。 在我的示例中,我有一个按钮和一个标签,当我点击按钮时,我希望程序在追加标签文本后暂停3秒。在这...

8得票2回答
Swing:无法使JButton更新 - repaint()不起作用。

我第一次使用Swing创建简单的GUI界面。它由一个JFrame组成,我在上面放置了一个单独的JButton。当单击按钮时,会调用一些其他代码,需要大约3秒钟才能返回。 在actionPerformed()中,在调用此代码之前,我想要更新按钮上的文本,以通知用户正在进行处理。我的问题是,按钮...

7得票3回答
等待SwingWorker完成

我希望等待我的SwingWorker完成工作,然后再执行另一个SwingWorker。在这种情况下,Encrypteer3是扩展了SwingWorker的类。 我的代码: input = txtTekst.getText(); key = txtKey.getText();...

7得票3回答
如何使用SwingWorker模拟带缓冲的外围设备?

我正在使用这个练习作为教学工具,帮助我熟悉一些Java GUI编程的概念。我希望获得一个通用的理解,而不是一个特定问题的详细解决方案。我期望编写这个程序的“正确”方式会教给我很多如何处理未来多线程问题的知识。如果这对于这个论坛来说太泛泛了,可能应该放在程序员论坛中? 我正在模拟一个读卡器。它...

7得票3回答
解决ExecutionException的原因

假设我有一个类定义了一大块需要完成的工作,可能会产生多个已检查异常。 class WorkerClass{ public Output work(Input input) throws InvalidInputException, MiscalculationException { ...

7得票1回答
开始一个Swing应用程序的最佳实践

如何最佳实践地启动Java Swing应用程序?也许有其他方法可以做到。 我想知道是否必须使用SwingUtilities类来启动应用程序(第二种可能性),还是不需要(第一种可能性)。 public class MyFrame extends JFrame { public void c...

7得票1回答
Java中SwingWorker.doInBackground()不能访问GUI元素。

也许这很琐碎,但我正在努力理解有关SwingWorker的简单文档。 以下是复制粘贴的内容: 工作流程 在 SwingWorker 的生命周期中涉及三个线程: 当前线程:在该线程上调用 execute() 方法。它会将 SwingWorker 安排在工作线程上执行并立即返回。可以使用 ...