JFrame是Frame的子類,即JFrame繼承自Frame。
JFrame是javax.swing.JFrame的類,Frame是java.awt.Frame的類。
類似的還有JButton、Button,JComboBox,ComboBox等,總的來說swing是awt的升級,帶J的是不帶J的升級版。
1.JFrame關閉方式:
設置用戶在此窗體上發起 "close" 時默認執行的操作。必須指定以下選項之一:
DO_NOTHING_ON_CLOSE
(在WindowConstants
中定義):不執行任何操作;要求程序在已注冊的WindowListener
對象的windowClosing
方法中處理該操作。HIDE_ON_CLOSE
(在WindowConstants
中定義):調用任意已注冊的WindowListener
對象后自動隱藏該窗體。DISPOSE_ON_CLOSE
(在WindowConstants
中定義):調用任意已注冊WindowListener
的對象后自動隱藏並釋放該窗體。EXIT_ON_CLOSE
(在JFrame
中定義):使用System
exit
方法退出應用程序。僅在應用程序中使用。
默認情況下,該值被設置為 HIDE_ON_CLOSE
。更改此屬性的值將導致激發屬性更改事件,其屬性名稱為 "defaultCloseOperation"。
代碼示例:

1 package ss; 2 3 import javax.swing.JFrame; 4 5 public class JFrameClose { 6 7 private JFrame jf; 8 public static void main(String[] args) { 9 // TODO Auto-generated method stub 10 new JFrameClose(); 11 } 12 13 public JFrameClose(){ 14 jf=new JFrame(); 15 jf.setBounds(100, 100, 200, 200); 16 // jf.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);//不執行任何操作 17 // jf.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);//隱藏並釋放內存,並不一定結束整個應用程序 18 jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//退出應用程序 19 jf.setVisible(true); 20 21 22 } 23 24 }
2.Frame關閉方式:
通過添加監聽的方式
代碼示例:

package tst; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.JFrame; public class Test { public static void main(String[] args) { // TODO Auto-generated method stub JFrame f = new JFrame(); f.setTitle("Closing Frame with Window Listener"); f.setBounds(100,50,500,300); f.addWindowListener(new MyWindowListener()); f.setVisible(true); } static class MyWindowListener extends WindowAdapter { @Override public void windowClosing(WindowEvent e) { // TODO Auto-generated method stub System.exit(0); } } }