您现在的位置: 中国男护士网 >> 考试频道 >> 计算机等级 >> 二级辅导 >> JAVA >> 辅导 >> 正文    
  等级考试二级JAVA考点分析之编写图形用户界面 【注册男护士专用博客】          

等级考试二级JAVA考点分析之编写图形用户界面

www.nanhushi.com     佚名   不详 

9.1用AWT编写图形用户界面
考点1:
编写图形用户界面

  (1)编写图形用户界面要支持跨平台。
  (2)Java图形界面开发包的发展经历了两个阶段:AWT和Swing。
  (3)Java采用构件思想开发图形用户界面。
  (4)编写图形用户界面的基本步骤:首先确定界面中的构件如何放置,然后使构件响应用户的操作,最后掌握各种构件的外观及能响应的用户操作。
考点:2
java.awt包简介
  (1)java.awt包可用于编写Java Application和Applet的图形用户界面。
  (2)java.awt包提供的图形用户界面的功能有:用户界面构件、事件处理模型、图形和图像工具、布局管理器和数据传送。
  (3 ) java.awt包含有3个主要的类:构件、容器和布局管理器。
  (4) Java.awt包中的类和接口主要有AWTEvent, Font, Component, Graphics , MenuComponent,以及各种布局管理器。
考点:3
构件(Component)
    
  作为Java图形用户界面的最基本组成部分,构件是一个可以在屏幕上与用户交互的以图形方式出现的可视化对象。
  (1) java.awt.Component类提供了构件类的定义。
  (2)构件不能独立于容器显示出来。
  (3)编写一般的用户界面程序使用的构件都是Component的子类。
  (4) Component类的方法有:getFont()、getName()、getSize()、paint(Graphics g)、repaint)和update()等。
考点:4
容器(Container)
  Container是Component的子类,具有构件的所有性质,并且能够放置基他容器和构件·
  (1)java.awt.Container类提供了容器类的定义。
  (2)一个容器能够容纳若干个构件。
  (3)不同的构件通过调用add()方法将自己加入相应的容器中。
  (4)使用容器从整体结构对界面进行布置,简化了图形用户界面的设计。
  (5)容器分为3类:Window、Panel和ScrollPane,均为java.awt.Container的子类。
  (6)常用容器――窗口(Frame),在不同的操作系统平台显示不同的外观,是java.awt.Window的子类。
  (7)常用容器――面板(Panel),是个没有标题没有边框的透明容器,不能单独存在,必须作为其他容器的构件,并可以作为其他构件的容器,是java.awt.Container的子类。
  (8)窗口和面板都不能直接响应用户操作,必须在程序中添加响应用户操作的代码。
考点:5
布局管理器(LayoutManager)
  Java通过布局管理器对所有构件进行管理,并获得动态布局效果,以及支持跨平台性。
  布局管理器的功能包括:排列顺序、定制构件大小和位置,根据窗口移动或调整大小控制构件的变化。
  布局管理器主要有:FlowLayout,BorderLayout,GridLayout,CardLayout和GridBagLayout等,可根据不同的布局需要选择不同的管理器。
  布局管理器不能直接响应用户操作,需要在程序中添加响应用户操作的代码。
  (1)FlowLayout布局管理器,是Panel和Applet的默认布局管理器。使用F1owLayout进行布局,在大小不变的容器中,构件的放置规律是从上到下、从左到右依次放置;当容器大小发生变化时,构件变化规律是构件大小不变,但其相对位置改变。FlowLayout的构造方法包括:FlowLayout(<对齐方式>.<横向间隔>,<纵向间隔>)、FlowLayout(<对齐方式>)默认的横向和纵向间隔都是5、F1owLayout()默认居中方式,以及横向和纵向间隔是5。
  (2)BorderLayout布局管理器,是Window、Frame和Dialog的默认布局管理器。布局策略是根据(North)、南(South)、东(East)和西(West)方向安排构件,余下的就是中心(Center);变化策略是构件之间相对位置不变,但是大小改变。构件在调用add()方法的时候,需要使用一个参数表明将其添加在哪里。
  (3)GridLayout布局管理器,用于指定放置构件的矩形网格,网格中每个单元的大小相同,平均分配容器空间。布局策略是,初次创建时必须指定网格的行数和列数,再按照从上到下、从左到右的顺序安排构件;变化策略是容器大小变化时,网格中的构件仍然平均分配容器的空间。
  (4) CardLayout布局管理器,将容器分层,每层以全部的空间只显示一个构件。
  (5)容器嵌套,将容器a作为另一个容器b的构件添加入容器b,这样实现了容器的嵌套。
9.2 AWT事件的处理模型
考点:6
Java事件处理机制
  (1)事件处理中的对象是事件(Event)、事件源(Event Source)和事件处理者(Event Handler)。
  (2)授权处理机制是指事件源将可能发生在它身上的不同事件分别授权给不同事件处理者处理。
  (3)事件处理者也叫做监听器,该监听器类通过实现某类事件类型相对应的接口,来完成对该类事件的处理。
  (4) Java为每一类事件提供了一个相应的接口。
  (5)事件处理的方法是:首先定义某事件的处理类,该类实现与该事件相应的接口,然后对事件源实例化,最后注册该事件的监听器来监听事件的发生。

考点:7
事件类与事件监听器
  1.事件类
  (1 ) Java.util.EventObject是所有事件类的父类,是Java.lang.Object的子类,实现了串行化接口。


  (2) Java.awt.AWTEvent是所有AWT事件类的父类,是Java.util.EventObject的子类,包括基于构件和容器的低级事件和基于语义的高级事件。
  2.事件监听器
  事件都有相应的监听器,监听器是接口,根据事件的动作来定义接口中的方法。AWT构件类的注册和注销监听器的方法如下:
  (1)注册监听器,public void add<监听器类型>(<监听器类型>监听器名);。
  (2)注销监听器,public void remove<监听器类型>(<监听器类型>监听器名);。
  3.AWT事件及其对应的监听器接口
  ActionEvent、ltemEvent、MouseEvent和KeyEvent的接口分别是ActionListener、 ItemListener、MouseMotionListener和KeyListener。
  (1)一个类可以实现多个监听器接口。
  (2)一个对象可以监听一个事件源上的多个事件。
  (3)监听器和事件源可以处于同一个类。
  (4)事件对象可以提供事件的相关信息。
考点:8
事件适配器
  事件适配器类提供了实现监听器的简单方法,重写有用的方法,无用的方法无需实现。事件适配器不适合用于多种监听器或者类已经有了父类的情况。
  1.事件适配器
  事件适配器在java.awt.event中定义,包括ComponentAdapter、ContainerAdapter、FocusAdapter、KeyAdapter、MouseAdapter、Mousei iMotionAdapte和WindowAdapter。
  2.内部类实现事件适配器
  内部类(inner class)是指在另一个类中定义的类。内部类适用于AWT的事件处理机制。
  (l)内部类可以访问外部类的包括私有的成员方法和变量。
  (2)使用内部类编写事件监听器比较容易实现。
  (3)内部类便于编写事件驱动程序
  3.匿名类实现事件适配器
  匿名类(anonymous class)是指没有名字的类,只是调用一个无参数的父类的构造方法形成的类。
  (1)匿名类没有构造方法,调用的是无参的父类构造方法。
  (2)匿名类用于编写事件适配器比较容易实现。
  (3)匿名类适用于一个内部类的类声明只是在创建对象时用了一次,并且要创建的新类必须继承一个父类或者实现一个接口的情况
9.3 AWT构件库
考点9:
  1.AWT的基本构件
  (1)按钮(Button),单击按钮产生ActionEvent事件、构造方法:Button b=new Button(<按钮名>);。
  (2)复选框(Checkbox),选择不同的复选项产生ItemEvent事件。
  (3)复选框组(CheckboxGroup),最多只能选中复选框中的一个选项。
  (4)下拉式菜单(Choice),每次只能选中其中的一个选项,适用于有大量选项的情况。
  (5)画布(Canvas),监听各种鼠标和键盘事件,可以通过继承该类创建自定义画布类。
  (6)单行文本输入区(TextFiled ),只能显示一行文本,按下回车键触发ActionEvent事件。
  (7)文本输入区(TextArea),可以显示多行多列文本,它和单行文本输入区都可以调用方法setEditable(boolean )来设置只读属性。
  (8)列表(List),支持滚动条的多个文本选项的列表。
  (9)框架(Frame),顶级容器,关闭时触发WindowEvent事件。
  (10)对话框(Dialog),Window类的子类,依赖于其他的窗口,包括模式和非模式2种。
  (11)文件对话框(FileDialog),用于打开或存储文件。
  (12)菜单(Menu)、菜单容器(MenuBar)和菜单项(MenuItem)。菜单项常被添加到菜单中,菜单只能添加到菜单容器或菜单中,菜单容器只能在Frame对象中;菜单容器是整个菜单树的根,菜单项是菜单树的叶子节点。菜单项可以触发ActionEvent。
  (13)构件的颜色,Java.awt.Color类提供构件的颜色常数和颜色的构造方法。
  (14)构件的字体,Java.awt.Font和Java.awt.FontMetrics提供构件的字体操作。
考点:10
构件与监听器的对应关系
  构件就是事件源,事件就是用户操作,事件处理者是处理事件的类。由于不同的构件对应了不同的事件监听器,因此对于图形用户界面中的每一个构件,用户需要根据该构件常发生的事件实现该事件响应的监听器接口。
9.4用Swing编写图形用户界面程序
考点:11
Swing和AWT的比较
  1.AWT的缺点
  (1)AWT是重量级的构件,都是通过调用本地平台的图形系统实现的,因此在不同平台的同一段代码显示的效果是不同的。
  (2)采用基于继承的伸缩性强的事件模型。
  (3)缺少剪贴板、打印支持和键盘导航。
  (4)按钮、标签等AWT构件不能使用图标。
  (5)不支持双缓冲区。
  2.Swing的优点
  (1)是扩展AWT后得到的轻量级构件,不依赖于操作系统的支持,在不同平台的显示效果可以一致,也可以提供本地窗口系统没有的特性,比AWT更有实用性。
  (2)采用“模型一视图一控制”(MVC,Model - View - Controller)设计范式,模型用于保存内容,视图用于显示内容,控件用于用户交互。通常视图和控件合二为一,一个构件包括一个模型和其界面(视图和控件),实现了内容与显示的分离。在此基础上,可以为构件建立自己的模型。


  (3)外观采用可插入的外观感觉。
  (4) Swing构件以“J”开头,除了与AWT相似的基本构件外,还提供了高层构件集合(表格和树)。
  (5)所有Swing构件都实现了Accessible接口,支持可存取性。
  (6)通过热键支持键盘代替鼠标的操作,从而支持键盘导航。
  (7)可以对Swing构件设置一个或多个边框,进行更合理的构件布局管理。
  (8)可以在按钮、标签等Swing构件上使用图标。
  (9)支持双缓冲区。
  3.AWT和Swing的关系
  (1)Swing构件都是AWT的Container类的直接或者间接子类。
  (2) Swing是对AWT的扩展,AWT是Swing的基础。
  (3)Swing和AWT构件的基本使用方法相同,事件处理机制相同。
考点:12
Swing类层次结构
  (1)javax.swing包中定义了2种构件:顶层容器(JFrame、JApplet、JDialog和JWindow)和轻量级构件。
  (2) javax.swing包中包含除了JTableHeader和JTextComponent之外的所有Swing构件。
  (3)事件和事件监听器类的包swing.event,表格构件JTable的包swing.table,JTree的swing.tree。
  (4)抽象类JComponent是大多数Swing构件的父类。
考点:13
Swing图形用户界面编程的一般步骤
  首先引入Swing包,再选择显示效果,然后设置顶层容器,再设置按钮和标签,再向容器中添加构件,然后在构件周围添加边框,最后实现事件处理机制。
9.5 Swing构件和容器
考点:13
Swing构件分类及使用的基本规则
  1.构件分类
  (1)从功能上分,Swing构件包括:顶层容器、中间容器、特殊容器、基本构件、不可编辑信息的构件和可编辑信息的构件。
  (2) JComponent类的功能分类包括:边框设置、双缓冲区、提示信息、键盘导航和可插入L&F,以及支持布局。
  2.基本规则
  (1)将Swing构件置于一个顶层Swing容器的内容面板中。
  (2)避免使用重量级构件。
考点:15
面板和构件
  (1)根面板,包括一个玻璃面板、一个内容面板和一个可选择的菜单条。
  (2)分层面板,包括JLayeredPane和JDesktopPane。
  (3)面板(Jpanel),其用法与AWT的相同,默认的布局管理器是FlowLayout。
  (4)滚动窗口(JScrollPane ),通过移动JViewport实现。
  (5)分隔板(JSplitPane),用于从水平方向或垂直方向分隔构件。
  (6)选项板(JTabbedPane),一组带有标签或图标的选项,每个选项表示一个构件,选中则显示。
  (7)工具栏(JToolBar),显示常用工具控件的容器。
  (8)内部框架(JlnternalFrame),必须加入到一个容器中,必须设置框架尺寸,可以调整内部框架在容器中的位置,可以在内部框架中添加构件,内部框架不能监听窗口事件,内部框架不能使用JDialog作为顶层窗口,内部框架随着所在的容器一起显示。
  (9)按钮(JButton),可以显示图标。
  (10)复选框、单选框、文件选择器、菜单和AWT的相应构件类似。
  (11)选择框,每次只能选择一个选项,但是可以编辑任意内容的选项。
  (12)表格,Swing中新增的构件,以二维表的形式显示数据。
  (13)树,树用于显示层次关系明确的一组数据。
  (14)布局管理器,将构件放入顶层容器内的内容面板中,布局是针对内容面板的。新增的管理器是BoxLayout,需要指明BoxLayout的主轴,其布局策略是从上到下或从左到右。

 

文章录入:杜斌    责任编辑:杜斌 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     

    联 系 信 息
    QQ:88236621
    电话:15853773350
    E-Mail:malenurse@163.com
    免费发布招聘信息
    做中国最专业男护士门户网站
    最 新 热 门
    最 新 推 荐
    相 关 文 章
    没有相关文章
    专 题 栏 目

      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)                            【进男护士社区逛逛】
    姓 名:
    * 游客填写  ·注册用户 ·忘记密码
    主 页:

    评 分:
    1分 2分 3分 4分 5分
    评论内容:
  • 请遵守《互联网电子公告服务管理规定》及中华人民共和国其他各项有关法律法规。
  • 严禁发表危害国家安全、损害国家利益、破坏民族团结、破坏国家宗教政策、破坏社会稳定、侮辱、诽谤、教唆、淫秽等内容的评论 。
  • 用户需对自己在使用本站服务过程中的行为承担法律责任(直接或间接导致的)。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表网友个人观点,与本网站立场无关。