首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 程式設計入門

Java Swing 入門基礎教學:從 AWT 到 Swing 的演進

     編輯:Java 程式設計入門

前言

當掌握 Java 基本語法與面向對象基礎後,即可開始設計簡單的 Swing 程式。熟悉 VB 的開發者或許被其拖拉控制項設計介面的簡便性吸引,但強大的 Java 同樣能設計出精美的使用者介面。

Swing 概述

Java 1.0 初期尚無 Swing,當時的 GUI 基礎庫稱為 AWT(Abstract Window Toolkit)。AWT 將元件建立行為交給底層作業系統的 GUI 工具箱處理,以實現「撰寫一次,到處執行」(WORA)。但因各作業系統差異,AWT 存在諸多 Bug。1996 年 Sun 與 Netscape 合作創建了新庫,命名為 Swing。

假如沒有 Swing,Java 的圖形介面將不值一提。

Swing 是 Java 基礎類別,屬於 JFC(Java Foundation Classes)一部分。完整的 JFC 龐大且組件豐富。

為什麼選擇 Swing?

  • 擁有更豐富、更方便的使用者介面元素集合。
  • 對底層平台依賴較少,跨平台 Bug 極少。
  • 提供跨平台統一的視覺體驗。

入門範例程式

許多初學者在學完基礎後對 Java 能做什麼感到茫然,研究 Swing 有助於提升理解。以下是一個入門 Swing 的經典範例:

// 簡單展示 Swing 基礎的範例
import javax.swing.*;
import java.awt.*;

public class HelloCsdn {
    public static void main(String[] args) {
        HelloCsdnFrame frame = new HelloCsdnFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true); // 建議使用 setVisible(true) 替代過時的 show()
    }
}

class HelloCsdnFrame extends JFrame {
    public HelloCsdnFrame() {
        setTitle("Hello CSDN.NET");
        setSize(WIDTH, HEIGHT);
        HelloCsdnPanel panel = new HelloCsdnPanel();
        Container c = getContentPane();
        c.add(panel);
    }
    public static final int WIDTH = 300;
    public static final int HEIGHT = 200;
}

class HelloCsdnPanel extends JPanel {
    public void paintComponent(Graphics g) {
        super.paintComponent(g);
        g.drawString("Hello CSDN.NET", MESSAGE_X, MESSAGE_Y);
    }
    public static final int MESSAGE_X = 100;
    public static final int MESSAGE_Y = 100;
}

此範例展示了建立視窗、面板與繪製文字的基本流程,是 Swing 入門的絕佳起點。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved