Java是一种高级语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,在实际工作中,java关闭当前窗口的指令怎么操作?下面来我们就来给大家讲解一下。
第一种:用你弹出的这个JFrame对象 frame.setVisible(false); 就好了。
第二种:调用 frame.dispose() 方法,该方法是释放窗体资源,和你设定的setDefaultCloseOperation行为有关系,比如你只是关闭窗口就可以设定。frame.setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE),那么在你调用dispose时窗口就会隐藏,具体的你可以查看jdk api看看说明就知道了。
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工具网。
推荐阅读: