当前位置: 首页 > 面试题库 >

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

洪增
2023-03-14
问题内容

我创建了一个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将需要在上面的示例中。



 类似资料:
  • 我试图在Java1.8中使用rest-Assured来测试RESTAPI。我在发送请求时遇到以下错误。API URI不允许SSLv3和SSLv2。我已经通过将系统属性设置为TLSv1进行了测试。2.我已将证书导入cacerts。这里什么都没用。 有人能告诉我是否有其他事情会引起问题吗? 下面是错误。

  • 当我在gradle中运行构建任务时,它将所有的Java资源(从src/main/resources)复制到build/resources中。因为我有太重的文件,所以我的构建过程比可能的要慢得多。 有什么方法可以禁止复制它们,并迫使Java仅仅从src/main/resources使用它们吗?

  • 问题内容: 使用杰克逊2.1,如何禁用错误消息似乎要禁用的消息? 我以为这只是世界上最简单的事情,但是该死了,它太迟了,我还没有找到一个简单的教程或任何特别明显的东西。?他们为什么要使它如此直观,然后使错误消息看起来如此简单? 尽管我 确实 喜欢该错误消息,但我的意思是,它比NPE更好。 我假设有一种使用注释的方法-但是我根本不希望将它们用于我正在做的简单工作! 问题答案: 我相信,您可以按班级或

  • 问题内容: 我想创建一个XML,其中用替换空白。但是Java-Transformer逃避了&符,因此输出为 这是我的示例代码: 这是我的示例代码的输出: 有任何解决或避免的想法吗?非常感谢! 问题答案: 将文本内容直接设置为所需的字符,如有必要,序列化程序将为您转义:

  • 问题内容: 当我使用Alamofire两次发送GET请求时,我得到的响应是相同的,但是我期望得到不同的响应。我想知道这是否是由于缓存造成的,如果是这样,我想知道如何禁用它。 问题答案: 迅捷3,alamofire 4 我的解决方案是: 为Alamofire创建扩展: 并使用它:

  • 问题内容: 我正在创建应在Tomcat上运行的SOAP服务。 我正在为我的应用程序使用Spring Boot,类似于: 我的网络服务(示例): 问题: 每当我在webservice类中引发异常时,服务器上都会记录以下消息: ErrorPageFilter:由于响应已提交,因此无法转发到请求[/ services / MyWebservice]的错误页面。结果,响应可能具有错误的状态代码。如果您的应