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

Java Swing 入門基礎教學

     編輯:Java 程式設計入門

轉自 鍵者天行

1. 前言

當我們掌握 Java 基本語法與面向對象基礎後,即可著手設計簡單的 Swing 程式。熟悉 VB 的開發者或許被其拖拉控件、撰寫事件即可快速完成介面設計的簡便性吸引。但強大的 Java 同樣能設計出精美介面,絲毫不遜色於 VB。

2. 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 龐大且組件豐富。

3. 為何選擇 Swing

Swing 提供更豐富、更便捷的使用者介面元素集合,對底層平台依賴較低,因此跨平台 Bug 較少,能帶來統一的視覺體驗。

4. 初學者的困惑與出路

許多 Java 初學者在完成基礎學習後感到迷茫,不清楚 Java 能做什麼。建議在掌握基本概念後進一步鑽研 Swing,有助於提升技能。

以下是一個適合入門的經典範例程式:

// a simple exmple that can show the basis of swing
// import pakages which we need
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.show();
    }
}

/** this part we constrUCt a new frame HelloCsdnFrame */
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;
}

/** this part we extend our HelloCsdnFram to JFrame and construct a new object HelloCsdnPanel and add it on the frame */
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;
}

/** A panel that display a message */

我將此程式分為三部分,各附註釋說明功能。一起分析:

第一部分

// import pakages which we need
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.show();
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved