在编程初期我们接触了都是控制台程序,也是因为这个原因是很多初学者很没有成就感,面对漂亮的windows图形用户界面的诱惑,使许多人更愿意学习VB。
今天,我将学习图形用户界面的经验介绍给大家,采用的方式是每次一个程序,然后通过对程序逐行的解释说明为大家讲解关于图形用户界面的编制对希望能够给大家的学习有一定的帮助,当然错误指出也请各位高手指点。
最开始,我将用一个最简单的窗口说起,先看一个简单的程序:
import javax.swing.*;
class FirstWin
{ public static void main(String[] args)
{ JFrame myWin = new JFrame();
myWin.show();
}
}
编译完成将在屏幕的左上角生成一个只有标题栏连窗口区(window pane)都没有的窗口,标题栏上只有最小化、最大化,关闭三个按钮,但是,可惜的是三个按钮中,按下关闭按钮以后,产生的效果只是窗体消失,不相信的话回到dos控制台你就会发现其实程序并没有终止。
下面向大家解释一下这段原码吧:
首先,大家看到引入了swing用户界面库,java在早期(从1.0版开始)提供了Abstract Windows Toolkits(抽象窗口工具包),或简称AWT。基本的AWT库处理用户界面元素的方式是利用本身的操作系统自带的GUI库生成窗口和各种用户界面元素。为了达到Sun公司提出的“write once,runeverywhere”的宣传口号,所以这种方法只能提供各种操作系统的GUI库的交集,这就导致利用AWT库生成的GUI程序不能达到用其它工具开发的界面那样精致漂亮。为了解决这个问题Sun在参照网景创建的IFC的GUI类的基本思想和网景合作建立一个称之为Swing的GUI库。在这个类采用了一个和以前截然不同的方法,Swing中的各种用户界面元素完全是java代码,各个系统只需产生一个空白的窗口,然后java在这个窗口中绘制各种用户界面元素。和AWT比起来速度有所下降,但它提供了更丰富更方便的用户界面元素,同时,更好的支持了平台无关性。
然后,我创建了一个JFrame的对象,它就是大家看到运行时的窗口,严格的讲java中将它称之为"帧"。JFrame类是AWT库中的Frame类的子类。
最后,调用了Show()方法使刚刚创建的JFrame对象可见。至此这个程序就完成了生成一个封闭帧(就是大家看的窗口)的任务。
由于时间精力的关系,我将坚持每天一节的原则连续向大家初步介绍图形用户界面的编制。谢谢大家的支持,同时也希望各位高手指教并提出建议。
我的邮箱是kwaif@sina.com 欢迎大家来信对我提出建议和讨论各种问题。