基本概念和术语:
一个图形用户界面是屏幕上的一个程序窗口,屏幕也称为桌面。
屏幕坐标系:图形用户界面使用屏幕坐标系确定窗口位置,原点位于屏幕左上角,右为X轴正向,下为Y轴正向,坐标系单位为像素。
窗口:窗口由程序创建,用于程序与用户间的交互。属性:1、窗口位置:指窗口左上角在屏幕坐标系中的坐标,以像素为单位。2、窗口尺寸:指窗口宽度和高度,以像素为单位。3、窗口名称:位于窗口上方,用于显示程序名称或功能。4、菜单栏:位于窗口标题下方,通常,一个菜单栏会包含多个菜单,每个菜单会包含多个菜单项,图形用户界面程序将程序功能通过菜单组织起来,用户通过菜单选择程序功能(注:菜单栏可以省略)。5、内容面板:内容面板是窗口的主体,是程序为用户提供的工作区,程序可以在内容面板上摆放图形组件,实现输入原始数据、查看处理结果、选择程序操作等功能。6、组件:组件是Java API预先定义好的,可提供不同功能的图形零件。主要包括:按钮、标签。文本框等。
容器:用于存放其他图形组建的显示区域。容器可以包含子容器,使用子容器的目的是将上层容器的显示区域分割成多个小的显示区域,在Java API中,子容器被称为面板。程序主窗口是最上层的容器,被称为顶层容器。顶层容器只能包含其他子容器或直接包含组件,但是不能被放入任何容器。
Java API中的swing包以及框架的应用
Java API将窗口、菜单栏、图形组件和容器等界面元素抽象成数据模型(ADT),并定义为一组类和接口,集中存放在工具包javax.swing及其下面的子包中,共同组成了一个开发图形用户界面的框架,被称为swing框架。另外,Java中还有一个最早的图形工具包,称为抽象图形工具包awt,主要的框架JFrame就在awt下。
值得注意的是:Java API中的图形工具包使用到了一个比较有意思的东西:框架。框架,即framework。其实就是某种应用的半成品,就是一组组件,供你选用完成你自己的系统。简单说就是使用别人搭好的舞台,你来做表演。而且,框架一般是成熟的,不断升级的软件。它实现了图形应用包中的所有接口,并预留下一部分空白,用户在使用图形应用工具时,首先利用这一框架,用一些相对固定的语句和模式确定一些要素,例如窗口的尺寸、位置、名称等等。然后再利用框架作为完整系统复用的特性,编写符合规约的个性化代码,完成整个程序,相当于完成了对于框架的扩展。在程序运行时,框架通过调用用户自己编写的个性化代码与已经实现的类库进行对接,实现整体的运行。值得注意的是,从图形工具包的使用我们可以看出,继承与重写都处在工具包的内部,我们作为用户在使用时使用的都是继承和委托,因此它是一个经典的黑盒框架,有利于简化程序,提升编写效率。