跳至內容

Java/圖形界面與Swing

維基教科書,自由的教學讀本

Java Runtime Environment(JRE)提供了兩個包來實現圖形界面,即java.awt和javax.swing。java.awt包提供了對具體作業系統圖形界面最小的包裝,具體生成的窗口和控件會依據作業系統的不同而不同,有時還有會天壤之別。javax.swing是在java.awt的基礎上,最大限度的利用java自身的函數繪製窗口和空間,達到依賴具體作業系統的目的,所生成的圖形界面在不同的作業系統下具有統一的形式。而且javax.swing還提供了java.awt沒有的高級性能,比如Border, LookAndFeel等等。

AWT (Abstract Window Toolkit)[編輯]

所有的圖形界面類均是繼承Component而來的


Swing[編輯]

Java/集合編程:包括對象操作,對象的引用以及對象的方法及屬性消息傳遞.


使用Swing創建第一個窗口[編輯]

使用Swing有兩種方式,第一種就是創建一個JFrame實例,並對其進行配置,示例代碼如下:

import javax.swing.*;

public class HelloSwing {
    //首先创建一个JFrame实例,这个实例就是主窗口
    private static JFrame frame = new JFrame();

    public static void main(String[] args) {
        //设置窗口的标题
        frame.setTitle("Hello Swing");
        //设置窗口的位置和大小,前两个参数是位置,后两个是大小
        frame.setBounds(800,300,600,300);
        //设置窗口关闭时的执行动作,这里是在窗口关闭后退出程序,如果没有这行,关闭窗口后程序还在后台运行
        frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        //设置窗口是否可见,即将窗口渲染在屏幕上
        frame.setVisible(true);
    }
}

第二種方法是繼承JFrame類,並創建一個自己的實例,並對其進行配置,示例代碼如下:

import javax.swing.*;

//继承JFrame类,使自己成为一个窗口
public class HelloSwing extends JFrame{
    private void showWindow(){
        //此处和上一个方法的示例代码一致
        this.setTitle("Hello Swing");
        this.setBounds(800,300,600,300);
        this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        this.setVisible(true);
    }
    public static void main(String[] args) {
        //实例化自身,并调用showWindow()方法对窗口进行配置
        new HelloSwing().showWindow();
    }
}

編譯、運行,你就可以看到一個標題為"Hello Swing"的窗口了