我想要做的是JButton
,当您点击它时,它将关闭JFrame
/应用程序。我有一个JButton
,但我想知道如何让它关闭当前打开的窗口。
答案 0 :(得分:3)
将监听器注册到按钮,然后在按钮单击时调用System.exit(0)。
JButton button = new JButton("Close");
button.addActionLister(new ActionListener(){
public void actionPerformed(ActionEvent e){
System.exit(0);
}
});
答案 1 :(得分:2)
在actionPerformed()
的{{1}}中,只需添加JButton
即可。你很高兴。
答案 2 :(得分:1)
只需使用JFrame的dispose()方法即可。见其Javadoc。
附录:另外,您可能需要将JFrame的默认关闭操作设置为“exit”而不是默认的“hide”。在创建框架时执行此操作。
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
// Do whatever your application does.
frame.dispose(); // With this you close the frame.
答案 3 :(得分:1)
请参阅Closing an Application中的ExitAction
。
这种方法与其他建议略有不同,因为它会将windowClosing()事件调度到Window。这将导致窗口根据窗口的关闭选项关闭,并将调用您可能已添加到窗口的任何窗口侦听器来处理windowClosing()事件。
答案 4 :(得分:0)
只需调用JFrame的dispose()方法,然后调用System.exit(0)
答案 5 :(得分:0)
从包含JFrame应用程序的类中创建一个对象,然后在按钮事件侦听器中创建dispose
:
for ex。
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);
}
}