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