如何在Java中禁用javax.swing.JButton?

我创建了一个swings应用程序,并且GUI上有一个“开始”按钮。我希望每当我单击该“开始”按钮时,都应禁用开始按钮,并启用“停止”按钮。

为此,我在“开始”按钮的“ ActionPeformed(…)”方法中编写了以下代码

startButton.setEnabled(false);

stopButton.setEnabled(true);

但是以上代码并未在GUI上产生所需的影响。

上面的代码对我想要做的正确吗?

它也不能与“ repaint()”一起使用。

编辑:

代码很长,所以我不能粘贴所有代码。我可以告诉更多有关代码的信息。

在“开始”按钮的“ ActionPeformed”方法中,调用以上两个语句后,我正在执行“ SwingWorker”线程。

这个线程有什么问题吗?

回答:

为此,我在“开始”按钮的“ ActionPeformed(…)”方法中编写了以下代码

你需要的代码是在actionPerformed(...)ActionListener使用开始按钮注册,而不是开始按钮本身。

您可以添加一个简单的ActionListener如下:

JButton startButton = new JButton("Start");

startButton.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent ae) {

startButton.setEnabled(false);

stopButton.setEnabled(true);

}

}

);

请注意,final如果要在本地范围内创建匿名侦听器,则上述示例中的startButton将需要在上面的示例中。

以上是 如何在Java中禁用javax.swing.JButton? 的全部内容, 来源链接: utcz.com/qa/405444.html

回到顶部