0

我想要做的是有一个JButton,当你点击它时,它会关闭JFrame/Application。我有一个JButton,但我想知道如何让它关闭当前打开的窗口。

4

6 回答 6

3

为您的按钮注册一个侦听器,然后在单击按钮时调用 System.exit(0)。

JButton button = new JButton("Close");
button.addActionLister(new ActionListener(){

   public void actionPerformed(ActionEvent e){
       System.exit(0);
  }
});
于 2013-10-05T17:04:10.977 回答
2

actionPerformed()JButton,只需添加System.exit(0). 你已准备好出发。

于 2013-10-05T17:03:02.197 回答
1

只需使用 JFrame 的 dispose() 方法。请参阅它的Javadoc

附录:另外,您可能希望将 JFrame 的默认关闭操作设置为“退出”而不是默认的“隐藏”。在创建框架时执行此操作。

JFrame frame = new JFrame();
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

// Do whatever your application does.

frame.dispose();    // With this you close the frame.
于 2013-10-05T17:02:12.870 回答
1

请参阅关闭应用ExitAction程序。

这种方法与其他建议略有不同,因为它将 windowClosing() 事件分派到 Window。这将导致窗口根据窗口的关闭选项关闭,并将调用您可能已添加到窗口的任何窗口侦听器来处理 windowClosing() 事件。

于 2013-10-05T18:46:59.590 回答
0

从包含 JFrame 应用程序的类中创建一个对象,然后dispose在按钮事件侦听器中创建一个对象:

例如。

    public class Application extends JFrame {
        private static final long serialVersionUID = 1L;
        static  Application app= new Application ();

    public Application{
       setLayout(new FlowLayout());
       Container pane =this.getContentPane();

       JPanel right = new JPanel();
       right.setLayout(new GridLayout(4,1));



       ButtonEvent = new JButton("Button");
       right.add(whiteList);


       pane.add(right);

 }

    public class ButtonEvent implements ActionListener{
    public void actionPerformed (ActionEvent event){
        app.dispose();
        dispose();
    }

 }


public static void main(String args[]){
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    app.setVisible(true);
    app.setTitle("Application");
    app.setSize(700,500);
    app.setLocation(350, 100);
    }
}
于 2013-10-05T18:50:45.493 回答
0

只需调用 JFrame 的 dispose() 方法,然后调用 System.exit(0)

于 2013-10-05T17:04:25.840 回答