Chinaunix首页 | 论坛 | 博客
  • 博客访问: 522382
  • 博文数量: 151
  • 博客积分: 7010
  • 博客等级: 少将
  • 技术积分: 1405
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-22 14:32
文章分类

全部博文(151)

文章存档

2011年(1)

2010年(23)

2009年(1)

2008年(126)

我的朋友

分类: Java

2008-06-02 14:05:16

 
一、AWT层次结构图

二、Canvas组件
    1、Canvas是具有最基本和最简单的GUI功能的组件
    2、Canvas代表屏幕上的一块白色的矩形区域,程序能够在这个部件表面绘图,也能够捕获用户的操作,产生相应的事件。
    3、当要设计自己定制的具有GUI功能的组件类时,继承Canvas将会大大简化编程的难度。

三、菜单
  菜单有三个主要要素,MenuBar、Menu、MenuItem。先创建一个MenuBar对象,再创建Menu对象、MenuItem对象。
  然后分别把Menu对象加入到MenuBar,把MenuItem对象加入到Menu对象,就可以构成系统的菜单。
  要对菜单项的单击做出反应,相应的菜单项就要增加实现了ActionListener接口的监听对象。
  
四、Container
  Container类是所有容器类的父类,Container.add方法将组件添加到容器中。同时,Container也是Component的子类,
  因此也可以作为组件添加到其他容器上。Container的主要子类如下图所示:
  
  
五、Dialog与FileDialog类  
  Dialog类的两种常用的构造方法;
  1、public Dialog(Frame owner, String title);//创建非模式对话框
  2、public Dialog(Frame owner, String title, boolean modal);
 
六、CheckBox
  1、CheckBox类用来建立单选按钮和多选按钮
  2、创建多选按钮,只需要使用构造函数
     CheckBox(String label,boolean state);
  3、创建单选按钮,需要使用构造函数
     CheckBox(String label,boolean state,CheckboxGroup group);

七、Choice
  1、Choice类用来制作单选下拉列表框
  2、Choice类的高级事件为ItemEvent,对应的监听器接口为ItemListener,该接口中只有一个itemStateChanged方法

八、Panel与ScrollPane类
  1、Panel类是一种容器类,用于产生一种特殊的空白面板,可以容纳其他的组件,但不能独立存在。Panel类必须被添加到其他容器中,如Window或Applet。
  2、ScrollPane类是一种容器,用于产生滚动窗口,通过滚动条在一个较小的容器窗口中显示较大的子部件。ScrollPane也不能独立存在,必须被添加到其他容器中。ScrollPane类没有布局管理器,它上面只能放一个组件,如果要添加多个组件,可以先将组件放在Panel中,再将Panel放在ScrollPane上。

九、布局管理器
  1、一个容器中的各个组件之间的位置和大小关系就被称之为布局。
  2、Java语言提供了布局管理器来管理组件在容器中的布局,而不是直接使用位置坐标来设置各个组件的位置和大小。
  3、AWT中的布局管理器类:
     - BorderLayout
       BorderLayout是Window的默认的布局管理器,分为东西南北中五个部分。BorderLayout最多只能放5个组件,要想放多个组件,要先将部分组件放在Panel中,然后再把Panel添加到BorderLayout中。如果组件小于5个,没有放置组件的地方,将被相邻的组件占用。
     - FlowLayout
       FlowLayout是Panel默认的布局管理器。容器中的组件从左到右,从上到下依次排列。
     - GridLayout
       GridLayout布局管理器将容器划分成若干行列的网格,在容器上添加组件时,它们会按从上到下,从左到右的顺序在网格中排列。在GridLayout的构造函数中,需要指定在容器上划分的网格的行、列数。GridLayout的网格大小都是一致。
     - CardLayout
       CardLayout布局管理器能够实现将多个组件放在同一个容器区域内的交替显示,相当于多张卡片在叠一起,在任何时候都只能看到最上面的一个。
     - GridBagLayout
       功能强大,但比较复杂。

十、取消布局管理器
   调用Container.setLayout(null)方法取消布局管理器设置。在这种情况小,可以调用Component.setBounds方法用绝对坐标设置容器上个的每个组件的大小和位置。不使用布局管理器时,如果容器大小发生变化,有可能会导致部分组件无法显示。





  
阅读(3147) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~