Java基礎——GUI編程(一),java基礎gui編程

來源:互聯網
上載者:User

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的時候,又啟了一個線程。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.