天天看點

GUI(Frame)-(事件監聽機制)-(窗體事件)

建立圖形化界面:

1,建立frame窗體。

2,對窗體進行基本設定。

比如大小,位置,布局

3,定義元件。

4,将元件通過窗體的add方法添加到窗體中。

5,讓窗體顯示,通過setVisible(true);

時間監聽機制的特點:

1,事件源

2,事件。

3,監聽器

4,事件處理。

事件源:就是awt包或者swing包中的那些圖形界面元件

事件:每一個事件源都有自己特有的對應事件和共性事件

監聽器:将可以觸發某一個事件的動作(不止一個動作)都已經封裝到了監聽

器中

以上三者,在java中都已經定義好了

直接擷取其對象來用就可以了

我們要做的事情是,就是對産生的動作進行處理。

import java.awt.*;
import java.awt.event.*;
class AwtDemo
{
    public static void main(String[] args)
    {
        Frame f = new Frame("my awt");
        f.setSize(500,400);
        f.setLocation(300,200);
        f.setLayout(new FlowLayout());
         
        Button b = new Button("我是一個按鈕");
         
        f.add(b);
        f.addWindowListener(new MyWin());
        f.setVisible(true);
         
        // System.out.println("Holle World!");
    }
}
/*
class MyWin implements WindowListener
{
    //覆寫7個方法,可以我隻用到了關閉的動作
    //其他動作都沒有用到,可是卻必須複寫
} */
 
//因為WindowListener的子類WindowAdapter已經實作了WindowListener接口
//并覆寫了其中的所有方法,那麼我隻要繼承自WindowAdapter覆寫我需要的方法既可
class MyWin extends WindowAdapter
{
    public void windowClosing(WindowEvent e)
    {
        // System.out.println("window closing---"+e.toString());
        System.out.println("我關");
        System.exit(0);
    }
    public void windowActivated(WindowEvent e)
    {
        System.out.println("我活了");
    }
    public void windowOpened(WindowEvent e)
    {
        System.out.println("我被打開了,哈哈哈哈哈");
    }
}