JFrame Frame 窗口關閉


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 }
View Code

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);
        }
         
       }
    
    }
View Code

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM