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"的窗口了