Java基礎——GUI編程(一),java基礎gui編程
一、定義
GUI全稱是Graphical User Interface,即圖形化使用者介面。JDK中提供了AWT 和 Swing 兩個包,用於GUI程式的設計和開發。
1.java .awt abstract Window Toolkit (抽象視窗工具包),它是 java 的早期版本,組件種類有限,需要調用本地系統方法實現功能,重量級,有點依賴於平台。
2.javax.SWing ,是sun公司在AWT 的基礎上,建立的一套圖形化使用者介面系統,提供了更多的組件,而且完全由java實現,增強了可移植性,輕量級。
SWing相當於AWT的升級版本,解決了跨平台操作的問題,但是,並不代表AWT就被徹底淘汰了,它是基礎,瞭解它的效能還是很重要的。
二、AWT類層次關係
Container:為容器,是一個特殊的組件,該組件中可以通過add方法添加其他的組件進來。
簡單的程式碼範例:
import java.awt.Frame;public class Test19 { public static void main(String[] args) { demo(); } static void demo() { Frame f = new Frame("這是我做的第一個視窗"); f.setSize(400, 400); f.setLocation(40, 60);// 左上方的座標 System.out.println("運行成功");// 驗證程式是否被執行了 }}
如果做到上面的代碼,從控制台的結果來看,程式沒有掛掉,已經被執行了。只是想要的對話方塊並沒有出現。
上面程式少一段代碼:f.setVisible(true);
import java.awt.Frame;public class Test19 { public static void main(String[] args) { demo(); } static void demo() { Frame f = new Frame("這是我做的第一個視窗"); f.setSize(400, 400); f.setLocation(40, 60);// 左上方的座標 f.setVisible(true);//使得視窗可見 System.out.println("運行成功");// 驗證程式是否被執行了 }}
執行結果:(值得注意的是,這個小視窗,點擊右上方的X,並不能使得該視窗關閉,這裡需要我們自己去設定)
下面示範添加一個按鈕的操作:
import java.awt.Button;import java.awt.Frame;public class Test19 { public static void main(String[] args) { demo(); } static void demo() { Frame f = new Frame("這是我做的第一個視窗"); f.setSize(400, 400); f.setLocation(40, 60);// 左上方的座標 f.setVisible(true);// 使得視窗可見 Button b = new Button("按鈕");// 需要導包 f.add(b);// 添加該按鈕 System.out.println("運行成功");// 驗證程式是否被執行了 }}
執行結果:(注意,有按鈕的,按鈕在沒有設定大小和位置的時候,預設為佔滿邊框了)
總結:
對於眾多的GUI組件,根據其作用,又可以分為兩大類,基本組件和容器。
基本組件:按紐,文字框之類,不能容納其他組件。
容器:可以容納其他組件,比如視窗、對話方塊等,所有的容器都是java.awt.Container 的直接或間接子類(上面的Frame 就是一個容器)
附,思考:
上面的程式,執行到 System.out.println("運行成功"); 就結束了,實際上這時main函數就結束了。但視窗還在。我們甚至還可以進行操作。那麼一定是有別的前台線程在運行,可以理解為建立Frame的時候,又啟了一個線程。