如何在推送JButton时关闭GUI

Pul*_*nda 15 java user-interface swing jbutton

有谁知道如何使jbutton关闭gui?我认为这样System.CLOSE(0);但是没有用.它也可能exitActionPerformed(evt);,但这也不起作用.只需要代码行就可以了.

编辑:别介意的人.答案是System.exit(0);.谢谢你的帮助!

Baa*_*arn 19

添加按钮:

JButton close = new JButton("Close");
Run Code Online (Sandbox Code Playgroud)

添加ActionListener:

close.addActionListner(new CloseListener());
Run Code Online (Sandbox Code Playgroud)

为实现ActionListener接口的Listener添加一个类并覆盖其主函数:

private class CloseListener implements ActionListener{
    @Override
    public void actionPerformed(ActionEvent e) {
        //DO SOMETHING
        System.exit(0);
    }
}
Run Code Online (Sandbox Code Playgroud)

这可能不是最好的方式,但它是一个重点.例如,该类可以公开,而不是另一个类中的私有类.


And*_*son 7

1.您也可以使用,但最好是明确地清理所有正在运行的线程,那么当最后一个GUI元素变得不可见,在EDT和JRE将结束.JFrame.setDefaultCloseOperation(DISPOSE_ON_CLOSE)EXIT_ON_CLOSE

调用此操作的"按钮"已经在框架上.

  1. 这个答案如何最好的位置摆的GUI?用于演示.的DISPOSE_ON_CLOSE功能.单击按钮关闭所有3

    后,JRE将结束.X


Dil*_*fey 6

通过使用System.exit(0); 你会关闭整个过程.这是你想要的,或者你打算只关闭GUI窗口并允许进程继续运行?

通过单击JButton简单地关闭JFrame或JPanel的最快,最简单和最健壮的方法是向JButton添加一个actionListener,它将在单击JButton时执行下面的代码行:

this.dispose();
Run Code Online (Sandbox Code Playgroud)

如果您使用的是NetBeans GUI设计器,则添加此actionListener的最简单方法是进入GUI编辑器窗口并双击JButton组件.这样做会自动创建一个actionListener和actionEvent,可以由您手动修改.