为什么我不能在 jButton ActionPerformed 方法中使用 jFrame.dispose() 方法?

Why cant I use the jFrame.dispose() method within a jButtonActionPerformed method?

我希望我的 jFrame (printJFrame) 在用户单击取消按钮时关闭(使用 .dispose 方法),但不知道为什么它不起作用。 (仅供参考,cancelJButton 在 printJFrame class 内,所以这就是为什么我真的很困惑......)有什么建议吗?????

private void cancelJButtonActionPerformed(java.awt.event.ActionEvent evt) {
printJFrame.dispose(); }

这个问题看起来有些相似: 这里的 dispose() 调用是从 SwingWorker.

内部进行的

或者,如果您只想隐藏 JFrame(并在稍后再次显示),您可以简单地使用 JFrame.setVisible(false)

private void cancelJButtonActionPerformed(java.awt.event.ActionEvent evt) {                                              
    dispose();
}