天天看點

黑馬程式員——Java基礎->GUI

——Java教育訓練、Android教育訓練、iOS教育訓練、.Net教育訓練、期待與您交流! ——-

GUI(圖形使用者界面)

GUI

• Graphical User Interface(圖形使用者接口)。

• 用圖形的方式,來顯示計算機操作的界面,這樣更友善更直

觀。

CLI

• Command line User Interface (指令行使用者接口)

• 就是常見的Dos指令行操作。

• 需要記憶一些常用的指令,操作不直覺。

舉例:

• 比如:建立檔案夾,或者删除檔案夾等

Java為GUI提供的對象都存在java.Awt和javax.Swing兩個包中。

Awt與Swing

• java.Awt:Abstract Window ToolKit (抽象視窗

工具包),需要調用本地系統方法實作功能。屬

重量級控件。

• javax.Swing:在AWT的基礎上,建立的一套圖

形界面系統,其中提供了更多的元件,而且完全

由Java實作。增強了移植性,屬輕量級控件。

黑馬程式員——Java基礎->GUI

布局管理器

容器中的元件的排放方式,就是布局。

常見的布局管理器:

FlowLayout(流式布局管理器)

從左到右的順序排列。

Panel預設的布局管理器。

BorderLayout(邊界布局管理器)

東,南,西,北,中

Frame預設的布局管理器。

* GridLayout(網格布局管理器)*

規則的矩陣

CardLayout(卡片布局管理器)

頁籤

GridBagLayout(網格包布局管理器)

非規則的矩

建立一個簡單的窗體

Container常用子類:Window Panel(面闆,

不能單獨存在。)

Window常用子類:Frame Dialog

簡單的窗體建立過程:

Frame f = new Frame(“my window”);
f.setLayout(new FlowLayout());
f.setSize(,);//設定窗體大小
f.setLocation(,);//設定窗體出現在螢幕的位置
f.setVisible(true);//顯示控件
           

事件監聽機制組成

  • 事件源(元件)
  • 事件(Event)
  • 監聽器(Listener)
  • 事件處理(引發事件後處理方式
黑馬程式員——Java基礎->GUI
import java.awt.*;
import java.awt.event.*;

/*
建立圖形化界面:
1,建立frame窗體。
2,對窗體進行基本設定。
    比如大小,位置,布局。
3,定義元件。
4,将元件通過窗體的add方法添加到窗體中。
5,讓窗體顯示,通過setVisible(true)

事件監聽機制的特點:
1,事件源。
2,事件。
3,監聽器。
4,事件處理。

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

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

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

以上三者,在java中都已經定義好了。
直接擷取其對象來用就可以了。

我們要做的事情是,就是對産生的動作進行處理。
*/
class  AwtDemo
{
    public static void main(String[] args) 
    {
        Frame f = new Frame("my awt");
        f.setSize(,);
        f.setLocation(,);
        f.setLayout(new FlowLayout());


        Button b = new Button("我是一個按鈕");

        f.add(b);


        f.addWindowListener(new WindowAdapter()
        {
            public void windowClosing(WindowEvent e)
            {
                System.out.println("我關");
                System.exit();
            }
            public void windowActivated(WindowEvent e) 
            {
                System.out.println("我活了。");

            }

            public void windowOpened(WindowEvent e) 
            {
                System.out.println("我被打開了,hahahhahah");
            }

        });




        f.setVisible(true);

        //System.out.println("Hello World!");
    }
}