javajframe处理问题

javajframe处理问题,java,swing,netbeans,jframe,Java,Swing,Netbeans,Jframe,嗯,我在一个框架上有一些按钮,当它们被点击时,它们会改变颜色。我在顶部有一个“X”按钮,用于处理框架。当我尝试重新打开框架时,它会打开,但当我单击这些按钮更改颜色时,它们会被单击两次 我不明白为什么会发生这种情况,我知道它会点击两次,因为如果点击两次,它会回到原来的黑色。另外,我添加了一个System.out.println来确定它执行了多少次,并在一次单击中打印两次 有人知道发生了什么吗?如果是这样的话,你能帮我一下吗?你的代码中有一个bug没有显示--请显示你的代码 我现在猜,但很可能您多次

嗯,我在一个框架上有一些按钮,当它们被点击时,它们会改变颜色。我在顶部有一个“X”按钮,用于处理框架。当我尝试重新打开框架时,它会打开,但当我单击这些按钮更改颜色时,它们会被单击两次

我不明白为什么会发生这种情况,我知道它会点击两次,因为如果点击两次,它会回到原来的黑色。另外,我添加了一个System.out.println来确定它执行了多少次,并在一次单击中打印两次


有人知道发生了什么吗?如果是这样的话,你能帮我一下吗?

你的代码中有一个bug没有显示--请显示你的代码


我现在猜,但很可能您多次将ActionListener添加到JButton。编写代码,使ActionListener只被写入按钮一次,比如在构造函数中创建类时,而不是在其他侦听器中。为了获得更好的帮助,请显示相关代码。

第一次运行时效果良好,只有在处理框架并重新打开后才会出现错误,就是在这之后,事情的执行情况就不正常了should@AcDSa:完全正确--因为您可能在同一个ActionListener内添加了第一个调用的action listener。但再说一遍,为什么要让我们猜?请出示您的相关代码。很抱歉,它是GUI的一部分,有很多代码,我应该粘贴代码的哪一部分?@AcDSa:导致您出错的代码。您必须对此进行一些调试和思考。您希望编写代码,以便能够轻松地隔离和测试项目的各个小部分。这样做可以降低“圈复杂度”,并使调试和增强变得更加容易;打开框架按钮=座椅选择器sc=新座椅选择器();sc.setVisible(真);