单击Java Applet后,JButton“保持按下”状态

我的Java Applet中有一个JButton。 按下它后,ActionListener必须执行大量操作。 因此,正因为如此,当用户点击按钮时,它会“保持按下”一段时间(有时甚至是5分钟),而不是立即禁用它(它在这5个小时后自动禁用)。

public void actionPerformed(ActionEvent e) { JButton.setEnabled(false); //... } 

我不希望用户看到它。 我希望所有这些操作都在后台执行。 我能做些什么才能实现呢?

您应该在另一个线程中执行此类密集型任务,而不是调度程序线程。

一些有用的阅读: 工作者线程和SwingWorker

问题是GUI-Thread很忙,在处理完成之前不会重新绘制组件

你可以在一个背景线程中进行活动。