我们进行Java开发的时候,需要打开窗口,但是用不到的时候就需要将窗口关闭,提高工作效率,那java如何实现关闭当前窗口?接下来我们就来给大家讲解一下java内容关闭当前窗口的方法。
使用dispose(),只是该窗体在内存中所占有的资源得到了释放,而整个程序并没有因此而退出,如果整个程序要退出,在以java.awt中的frame为控件时,需手动添加:System.exit();
而在以javax.Swing中的jFrame为控件时,一般不需要再写相应的事件,默认点击窗体上的小叉时,是隐藏,当然你可更改其参数。
java怎么关闭窗体?
1.使用JFrame的enableEvents和processWindowEvent
//Frame1.java import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Frame1 extends JFrame { public Frame1() { enableEvents(AWTEvent.WINDOW_EVENT_MASK); this.setSize(new Dimension(400, 300)); this.setTitle("Frame1"); } protected void processWindowEvent(WindowEvent e) { super.processWindowEvent(e); if (e.getID() == WindowEvent.WINDOW_CLOSING) { System.exit(0); } } }
2.直接实现WindowListener接口
//Frame1.java import java.awt.*; import java.awt.event.*; public class Frame1 extends Frame implements WindowListener { public Frame1() { this.setSize(new Dimension(400, 300)); this.setTitle("Frame1"); this.addWindowListener(this); } public void windowClosing(WindowEvent windowEvent) { System.exit(0); } public void windowOpened(WindowEvent windowEvent) {} public void windowClosed(WindowEvent windowEvent) {} public void windowIconified(WindowEvent windowEvent) {} public void windowDeiconified(WindowEvent windowEvent) {} public void windowActivated(WindowEvent windowEvent) {} public void windowDeactivated(WindowEvent windowEvent) {} }
3.直接继承窗体适配器WindowAdapter
//Frame1.java import java.awt.*; import java.awt.event.*; public class Frame1 extends WindowAdapter { public Frame1() { Frame f = new Frame(); f.setSize(new Dimension(400, 300)); f.setTitle("Frame1"); f.addWindowListener(this); f.setVisible(true); } public static void main(String[] s) { new Frame1(); } public void windowClosing(WindowEvent windowEvent) { System.exit(0); } }
4.间接继承窗体适配器WindowAdapter
//Frame1.java import java.awt.*; import java.awt.event.*; public class Frame1 extends Frame { public Frame1() { this.setSize(new Dimension(400, 300)); this.setTitle("Frame1"); this.addWindowListener(new winAdapter()); this.setVisible(true); } public static void main(String[] s) { new Frame1(); } } class winAdapter extends WindowAdapter { public void windowClosing(WindowEvent windowEvent) { System.exit(0); } }
5.间接实现WindowListener接口
//Frame1.java import java.awt.*; import java.awt.event.*; public class Frame1 extends Frame { public Frame1() { this.setSize(new Dimension(400, 300)); this.setTitle("Frame1"); this.addWindowListener(new winEventHandle()); this.setVisible(true); } public static void main(String[] s) { new Frame1(); } } class winEventHandle implements WindowListener { public void windowClosing(WindowEvent windowEvent) { System.exit(0); } public void windowOpened(WindowEvent windowEvent) {} public void windowClosed(WindowEvent windowEvent) {} public void windowIconified(WindowEvent windowEvent) {} public void windowDeiconified(WindowEvent windowEvent) {} public void windowActivated(WindowEvent windowEvent) {} public void windowDeactivated(WindowEvent windowEvent) {} }
6.使用Inner Class
//Frame1.java import java.awt.*; import java.awt.event.*; public class Frame1 { public Frame1() { Frame f = new Frame(); f.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); f.setSize(new Dimension(400, 300)); f.setVisible(true); } public static void main(String[] s) { new Frame1(); } }
Jframe的关闭方法:
setDefaultCloseOperation(EXIT_ON_CLOSE);
frame的关闭方法如下:
this.addWindowListener(new java.awt.event.WindowAdapter() { public void windowClosing(java.awt.event.WindowEvent e) { System.exit(0); } });
Java关闭窗体的方法有以上六种,大家可以随便选择一种将窗体关闭就好了!最后大家如果想要了解更多java入门知识,敬请关注奇Q工具网。
推荐阅读: