我有一个带有4个按钮的Java面板。当我单击这些按钮时,将出现一个新框架,并且第一个框架被setVisibile(false)
隐藏。
在该新窗口上,我还有另一个按钮,但是当我单击它时,我得到了与第一个窗口的第四个按钮相对应的事件。再次单击该按钮可达到目的,但这当然是不可接受的。
我想念什么吗?我只是展示框架
nameOfTheFrame.setVisible(true);
我在每个按钮上都有MouseListeners。
最后一个按钮的代码很简单:
System.exit(0);
编辑
样例代码:
private void btn_joinGamePressed(java.awt.event.MouseEvent evt) {
GraphicsTools.getInstance().getCreateGame().setVisible(false);
GraphicsTools.getInstance().getMainPanel().setVisible(false);
GraphicsTools.getInstance().getRegistration().setVisible(true);
}
GraphicsTools是一个Singleton。
编辑2
一些更多的信息。
我注意到在MAC OS上工作正常。该问题仅在Linux和Windows上发生。
最佳答案
这一定是由于您的鼠标侦听器而发生的。可能是因为您在第一次点击中识别了旧按钮,而该按钮与新按钮位于同一位置(这只是我的猜测)。
将鼠标侦听器更改为动作侦听器。对于一个按钮,如果您有动作侦听器就足够了。
尝试这个。