借鉴别人的java笔记

来源:互联网 发布:js观察者模式 阮一峰 编辑:程序博客网 时间:2024/05/21 16:55


图形用户界面篇:
基本知识:
一、图形用户界面(Graphics User Interface简称GUI)
      GUI使用图形的方式借助菜单、按钮等标准界面元素和鼠标操作,帮助用户方便地向计算机系统发出命
令、启动操作,并将系统运行的结果同样以图形的方式显示给用户,使一个应用程序具有画面生动、操作简便的效果,
与字符界面比较而言,界面友好、直观方便。
    Java提供了抽象窗口工具包(Abstract Windowing ToolKit,缩写为AWT)和Swing包这两个图形用户界面工具包。
我们方便地使用这些类库来生成各种标准图形界面元素并处理图形界面的各种事件。
二、java图形用户界面的构成
    在java中构成图形用户界面的元素和成分主要包括:容器、控制组件和用户自定义组件三部分。
1.容器
    容器是用来组织或容纳其他界面成分和元素的组件。一个容器可以包含许多组件,同时它本身也可以作为一个组件,放进另一容器中。
一般来说,一个应用程序的图形用户界面首先对应于一个复杂的容器,例如一个窗口。这个容器内部将包含许多界面成分和元素,
其中某些界面元素本身也可能又是一个容器,这个容器再进一步包含它的界面成分和元素,依此类推就构成一个复杂的图形界面系统。
    容器是Java中的类,例如框架(JFrame)、面版(JPanel)及滚动面板(JScrollPanel)等类。

2.控制组件
     与容器不同,控制组件是图形用户界面的最小单位之一,它里面不再包含其他的成分。
控制组件的作用是完成与用户的一次交互,包括接收用户的一个命令(如菜单命令),接收用户输入的一个文本或选择,
向用户显示一段文本或一个图形等等。
     控制组件是图形用户界面标准化的结果,目前常用的控制组件有选择类的单选按钮(CheckboxGroup或RadioButton)、复选按钮(Checkbox)
、下拉列表(List或Choice),有文字处理类的文本框(TextField)、文本区域(TextArea),有命令类的按钮(Button)、菜单(Menu)等。
    使用控制组件,通常需要如下的步骤:
    (1) 创建某控制组件类的对象,指定其大小等属性。
    (2) 使用某种布局策略,将该控制组件对象加入到某个容器中的指定位置处。
    (3) 将该组件对象注册给所能产生的事件对应的事件监听程序,重载事件处理方法,实现利用该组件对象与用户交互的功能。
3.用户自定义成分
        除了上述的标准图形界面元素外,编程人员还可以根据用户的需要,使用各种字型、字体和色彩设计一些几何图形、标志图案等,它们被称为用户自定义成分。
用户自定义成分通常只能起到装饰、美化的作用,而不能响应用户的动作,也不具有交互功能。
第一部分:利用AWT包学习用户自定义成分
1.1
   屏幕坐标系
    文本与图形通过一定的坐标关系显示在屏幕的适当位置上。Java坐标系是一个二维网格,它可以标识屏幕上每个点的坐标位置。坐标单位用像素来度量。
一个像素是一台显示器的最小分辨单位。坐标系由一个x坐标(水平坐标)和一个y坐标(垂直坐标)组成。在缺省状态下原点为屏幕左上角坐标(0,0),
因此,x坐标是从左向右移动的水平距离,y坐标是从上向下移动的垂直距离。如坐标(x,y)表示点与原点的水平距离是x,垂直距离是y。
1.2
   与文字图形有关的类
     java.awt包层次的一部分——有关文字、颜色和基本图形的类。一下这些类都是从类Object直接派生出来的:
类Font是用于操作字体的;类Color是用于操作颜色的;类FontMetrics主要用于获取字体的有关信息;类Polygon用于创建多边形;
类Graphics用于绘制各种串、线、矩形、圆和其他几何图形。
1.3
    Applet的执行程序
       本节的内容我们以Applet应用程序为所有示例程序的容器,且通过引用或重载Applet类的某些成员方法来实现文字及图形的绘制。
所以下面将介绍Applet应用程序的执行过程及其所引用的方法。每个Applet应用程序都是Applet类的子类,在实际运行中,浏览器在下载
字节码的同时,会自动创建一个用户Applet子类的对象,并在适当事件发生时自动调用该对象的几个主要方法。
     下面说明这些方法的引用过程:
     (1)init()方法:当Applet程序启动时自动调用init()方法。init()方法仅用来做初始化操作。用户程序可以重载父类的init()方法,
         通过init()方法初始化图像文件、声音文件、字体或者其他一些对象等。
     (2)start()方法:Applet运行init()方法之后将自动调用start()方法,start()方法体现了小应用程序要完成的功能。
          我们可以重载父类的start() 方法,在这个方法体内实现我们程序的功能。
     (3)paint()方法:它的主要作用是在Applet的界面中显示文字、图形和其他界面元素。浏览器调用paint()方法的事件主要有如下三种。
          ① 当浏览器首次显示Applet时,会自动调用paint()方法。
          ② 当用户调整窗口大小或移动窗口时,浏览器会调用paint()方法。
          ③ 当repaint()方法被调用时,系统将首先调用update()方法将Applet对象所占用的屏幕空间清空,然后调用paint()方法重画。
     (4)stop()方法:当用户将浏览Applet程序所在的Web页面切换到其他页面时,浏览器会自动调用stop()方法,让Applet程序终止运行。
                   如果用户又回到Applet程序所在的Web页面时,则浏览器将重新启动Applet程序的start()方法。
     (5)destroy():当用户关闭Applet程序窗口时,浏览器会自动执行此方法,结束程序,释放所占资源。
0 0