前面介绍的所有Java代码,都只能通过日志观察运行情况,就算编译成class文件,也必须在命令行下面运行,这样的程序无疑只能给开发者做调试用,不能拿给一般人使用。因为普通用户早已习惯在窗口界面上操作,哪里还会跑去命令行自讨苦吃呢?所以Java代码写得再好,也得有个软件界面与用户交互,并将程序的处理结果显示在界面上。众所周知,移动开发的Android平台,采用的便是Java语言,此时Java代码的执行结果可直接显示到手机屏幕。对于电脑来说,Java也提供了桌面程序的图形开发工具,它们主要有三组工具包,分别是源于Java1的AWT、Java2引入的Swing、集成进Java8的JavaFX,每组工具包都自成体系,均能实现图形界面的开发功能。
以最早的AWT为例,它的全称是“Abstract Window Toolkit”,意即抽象窗口工具包。AWT依赖于Java程序所在的操作系统,它的图形函数与宿主系统的图形函数是一一对应的,当Java程序通过AWT绘制图形界面的时候,其实底层仍然调用了操作系统的图形库。当然,由于各种操作系统的图形库不尽相同,某个系统提供的图形函数可能在另一个系统并不存在,因此为了让Java程序兼容不同的操作系统,AWT不得不牺牲部分功能以实现“一次编译,到处运行”的愿景。AWT固然砍掉了一些功能,反而使得它相对纯粹,更适合初学者入门桌面程序开发。
比如要在Window上显示一个窗口界面,利用AWT实现的话只需如下几行代码:
import java.awt.Frame;
//演示一个最简单的窗口
public class TestSimple {
public static void main(String[] args) {
Frame frame &#