Java 按下JButton时如何关闭单个GUI?

Java 按下JButton时如何关闭单个GUI?,java,swing,jbutton,Java,Swing,Jbutton,我编写了一些代码,其中有一个GUI,该GUI有一个enter按钮,单击该按钮可打开我创建的另一个GUI。之后显示的GUI也有2个按钮。其中一个按钮做了正确的事情,我希望第二个按钮关闭GUI,但只有第二个按钮,所以第一个按钮应该保持在屏幕上。我使用System.exit0,但这关闭了bouth GUI。有人知道写什么来关闭一个GUI吗 单击会打开我创建的另一个GUI 第二个GUI应该是JDialog,而不是JFrame 我使用System.exit0,但这关闭了bouth GUI 相反,您应该使用

我编写了一些代码,其中有一个GUI,该GUI有一个enter按钮,单击该按钮可打开我创建的另一个GUI。之后显示的GUI也有2个按钮。其中一个按钮做了正确的事情,我希望第二个按钮关闭GUI,但只有第二个按钮,所以第一个按钮应该保持在屏幕上。我使用System.exit0,但这关闭了bouth GUI。有人知道写什么来关闭一个GUI吗

单击会打开我创建的另一个GUI

第二个GUI应该是JDialog,而不是JFrame

我使用System.exit0,但这关闭了bouth GUI

相反,您应该使用:

dialog.dispose();
因此,您将需要对该对话框的引用。您可以使用以下命令获取对当前窗口的引用:

JButton button = (JButton)e.getSource();
Window dialog = SwingUtilities.windowForComponent( button );
其中getSource方法来自ActionListener的ActionEvent类

或者更好的方法是模拟对话框的关闭按钮被单击。退房此链接中的ExitAction将向对话框发送事件


注意:您不需要从链接使用CloseListener,只需要ExitAction,然后确保使用setDefaultCloseOperation。。。当您创建对话框时。

当您说GUI时,我假设您在谈论JFrames。JFrame有一个名为setVisible的方法


您可以在该按钮中使用setVisiblefalse,它应该关闭第二个JFrame

打开另一个GUI是什么意思?你是说它会打开一个新窗口吗?那个窗口是JFrame吗?与其试图用英语描述代码,不如在这里发布相关代码。通过GUI,我想你指的是JFrame。JFrame有一个setVisible方法。@Code学徒呈现代码的最佳形式:a。注释中的提示:[mcve]自动扩展为。少输入。@AndrewThompson我知道“帮助”部分的那个页面,但不知道链接的快捷语法。谢谢。不要用第二个JFrame。子窗口应该是JDialog。请看:我假设他在说GUI时打开了另一个JFrame,但您是对的,应该使用JDialogs。