- 6
- 0
- 约2.82万字
- 约 97页
- 2018-03-27 发布于江西
- 举报
java教程课件第八章7.ppt
第八章 Applet 与图形用户界面(续 1) 七、图形用户界面的标准组件 抽象窗口工具包 AWT 是一个袖珍窗口库,也是 Java 环境的标准成份,它提供设计窗口系统所需要的一些基本组件,这些组件都是 Component 这个基本类的子类,如下图所示。 (一)基本控制组件 使用基本控制组件的步骤: 1、某种创建某种基本控制组件类的新对象,指定该对象的属性,如外观、大小等。 2、将该组件对象加入到某个容器的合适位置。 3、创建该组件对象的监听者,即实现以该组件为事件源的事件对应的监听者接口,也可以使现有的类实现该接口成为监听者。 Component 类是所有组件类和容器类的父类,其中定义了一些每个容器和组件都可能用到的方法,较常用的有: 标签、按钮与动作事件 文本框、文本区域与文本事件 单、复选框,列表与选择事件 滚动条与调整事件 布局设计 1、FlowLayout (顺序布局) FlowLayout 是最基本的一种布局,是面板 Panel 和它的子类 Applet 缺省使用的布局编辑策略。它从左到右地安排组件排列顺序,它提供下面的对齐方式: 2、BorderLayout (边界布局) 边界布局 BorderLayout 把容器分为 5 个区:东(East)、南(South)、西(West)、北(North)和中央(Center),这几个区按照从“上北下南,左西右东”的分布规律进行布局。可指定要加入的组件放入哪一个区域中,区域的大小由放入的组件大小来决定(最多只能容纳 5 个组件)。 例如,在 applet 的 init( ) 中定义了: setLayout(new BorderLayout()); 如果没有在 5 个区域中都放置组件时,窗口的布局就会发生变化。 3、CardLayout (卡片布局) 卡片布局CardLayout把组件容器看成是—个卡片盒,而里面所有的组件都是盒中的卡片,但每次只能显示最上面的一个卡片(组件)。CardLayout 类提供一些方法来翻阅这些卡片(组件)。 4、GridLayout (网格布局) 网格布局 GridLayout 是把容器区域分成若干个网格,每一个网格可以放置一个组件,这种布局方式非常适合数量庞大的组件。 一般在使用 GridLayout 时,要设置行数和列数。 5、GridBagLayout (网格包布局) GridBagLayout的概念和GridLayout有些相似,也是把组件容器的区域分成许多方格。但是,GridBagLayout并不是把每个组件的大小变成一样,放在各自的方格中,而是通过GridBagConstraints的帮助,根据开发人员的要求来改变组件的大小,并将组件放在开发人员希望摆放的位置上。 GridBagConstraints 类的主要功能是窗口中各组件的放置属性。 组件产生以后,可调用 add() 方法将该组件放置到相应的容器中。如果还要在组件上增加一些控制,则需要使用布局设计知识。 在AWT中,组件的布局设计是通过为组件设置布局编辑器来实现的。常用的布局编辑类有: ● FlowLayout ● BorderLayout ● CardLayout ● GridLayout ● GridBagLayout 每一种布局编辑类对应一种布局策略 构造方法: FlowLayout ( ) //创建居中对齐、水平与垂直间距为5的FlowLayout对象 FlowLayout (int align ) //以指定的对齐方式创建水平与垂直间距为5的FlowLayout对象 FlowLayout (int align, int hg, int vg ) //以指定的对齐方式、水平与垂直间距创建FlowLayout对象 修改布局: setLayout(new FlowLayout ( ) ) //将当前组件的布局设为FlowLayout布局(即顺序布局) 构造方法: BorderLayout ( ) //创建水平与垂直间距为0的BorderLayout对象 BorderLayout (int hg, int vg ) //以指定的水平与垂直间距来创建BorderLayout对象 可用方法 add 把组件放入 applet 中: add(“East”,new Button(“东边”)); add(“South”,new Button(“南边”)); add(“West”,new Button(“西边”));
原创力文档

文档评论(0)