可以存放组件的区域

上传人:子 文档编号:52095409 上传时间:2018-08-18 格式:PPT 页数:32 大小:246KB
返回 下载 相关 举报
可以存放组件的区域_第1页
第1页 / 共32页
可以存放组件的区域_第2页
第2页 / 共32页
可以存放组件的区域_第3页
第3页 / 共32页
可以存放组件的区域_第4页
第4页 / 共32页
可以存放组件的区域_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《可以存放组件的区域》由会员分享,可在线阅读,更多相关《可以存放组件的区域(32页珍藏版)》请在金锄头文库上搜索。

1、容器 可以存放组件的区域,可在容器上进行 绘制和着色 java.awt包中的Container类可直接或间接 派生出两个常用容器:框架(Frame类) 和面板(Panel类)。 框架是一个带有边框的独立的窗口。 面板是包含在窗口中的一个不带边框的 区域。 1 1容器 框架 框架是独立于Applet和浏览器的一个窗口。 可以通过以下任一构造函数来创建: Frame():创建一个不含标题的标准窗口 Frame(String Title): 创建一个含有标题的窗口 ,这个标题是由参数title指定的。 当一个Frame窗口被创建以后,需要调用 setSize()方法来设置窗口的大小,并调用 setV

2、isible()来显示窗口。2 2容器 - 面板 面板不是一个单独的窗口,它只是包含 在窗口中的一个区域。 面板是可以将许多组件组合起来的一种 容器。 最简单的创建面板的方式就是通过面板 的构造函数 Panel() 来进行。 必须将面板添加到窗体中。3 3使用容器示例import java.awt.*;class PanelTest extends Panel public static void main(String args) PanelTest p= new PanelTest();Frame f=new Frame(“正在测试面板!“);f.add(p);f.setSize(300,

3、200);f.setVisible(true); 使用GUI组件必 须导入该包将面板添加 到 框架窗体中4 4AWT组件 组件指可以放置在用户界面上的任何东西, 可以将组件设置为可见或重新调整其大小。 AWT支持的组件:标签、文本域、文本区、 按钮、复选框、选择框等。 高级组件包括滚动条、滚动窗格和对话框。 向窗口加入一个组件:首先生成所需组件的 实例,然后调用add()方法,此方法是在 Container类中定义的。5 5不同组件标 签文本域复选框单选按钮文本区按钮6 6标签 可以通过以下任一构造函数来创建: Label( ) : 新建一个空标签 Label(String labeltext

4、): 新建一个包含给定文本 的标签 Label(String labeltext, int alignment) :新建一个包 含给定对齐方式的标签,对齐方式可以为 Label.LEFT、Label.RIGHT 或 Label.CENTERv通常用来指明项目的用途 v标签不可以被用户编辑7 7文本域 可以通过以下任一构造函数来创建: - TextField() : 新建一个文本域 - TextField(int columns) : 新建一个包含给定列 数的文本域 - TextField(String s) : 新建一个包含给定字符 串的文本域 - TextField(String s, in

5、t columns) : 新建一个包 含给定字符串和列数的文本域 v一种用来输入文本的GUI组件 v只能接受一行输入8 8标签和文本域使用示例import java.awt.*; class TextLabelDemo extends Frame Label lblName=new Label(“名称 :”);TextField txtName=new TextField(20);public TextLabelDemo (String title) super(title); setLayout(new FlowLayout(); add(lblName); add(txtName);pub

6、lic static void main(String args) TextLabelDemo t=new TextLabelDemo(“正在测试组件! “); t.setSize(300,200); t.show(); 新建一个标签新建一个文本 域添加到窗口9 9文本区 可以通过以下构造函数来创建: - TextArea( ) : 新建一个TextArea - TextArea(int rows, int cols) : 新建一个包含给 定行数和列数的TextArea - TextArea(String text, int rows, int cols) : 新建一 个包含给定字符串、行数和

7、列数的TextAreav要接受输入多行文本时使用 v可以包括滚动条. . .TextArea txtComment=new TextArea(); add(txtComment); . . .1010按钮 可以使用以下任一构造函数来创建按钮 : - Button() : 新建一个空的按钮 - Button(String text) : 新建一个包含给定字符串 的按钮v按钮是任何GUI都不可或缺的组件 v用来捕捉用户操作的最为简便的 方式. . .Button btnOk=new Button(“确定!“);Button btnCancel=new Button(“取消!“); add(btnO

8、k);add(btnCancel); . . .1111复选框 可以使用以下任一构造函数来创建复选框 :- Checkbox():创建一个空的复选框,且未被选中- Checkbox(String text):创建一个用给定字符串 作为标签的复选框,且未被选中- Checkbox(String text,Boolean on):创建一个标签 由参数text指定的复选框,允许通过参数on设定 复选框的初始状态。用于多选项的用户输入,用户 可以通过单击复选框来选定或 取消选定某选项。1212单选按钮 可以通过复选框组生成一系列互斥的复选 框,实现单选按钮功能。 在一组单选按钮中只能选择一个按钮。 首

9、先创建一个 CheckboxGroup 对象。CheckboxGroup cg=new CheckboxGroup(); 然后再创建各单选按钮。Checkbox male=Checkbox(“男“,cg,true);Checkbox female=Checkbox(“女“,cg,false);1313复选框和单选按钮使用示例import java.awt.*; class Qualification extends Frame Checkbox t1=new Checkbox(“Visual Basic“);Checkbox t2=new Checkbox(“Visual C+“);Check

10、box t3=new Checkbox(“Java“);CheckboxGroup cg=new CheckboxGroup(); Checkbox r1=new Checkbox(“专科“,cg,false);Checkbox r2=new Checkbox(“本科“,cg,false);Checkbox r3=new Checkbox(“硕士“,cg,false);Checkbox r4=new Checkbox(“博士“,cg,false);Label lb1=new Label(“您的学历为:“ );Label lb2=new Label(“您精通的语言为:“ ); 新建复选框新建一个

11、复 选框组添加 单选按 钮public Qualification(String s ) super(s);setLayout(new GridLayout(10,1); add(lb1);add(r1);add(r2);add(r3); add(r4);add(lb2);add(t1);add(t2);add(t3);public static void main(String args) Qualification q=new Qualification (“学识!“); q.setSize(400,250); q.show( ); 将单选按钮添 加到窗体将复选框添加到窗体1414选择框

12、用 Choice 类可以创建一个选择框Choice moviestars = new Choice( ); 通过 addItem() 方法可以添加项目 moviestars.addItem(“安东尼奥.班德拉斯“); moviestars.addItem(“莱昂纳多.迪卡普尼奥“); moviestars.addItem(“桑德.布洛克“); moviestars.addItem(“休.葛兰特“); moviestars.addItem(“朱莉亚.罗萡茨“); 用来向用户显示一个选择列 表1515布局管理器 用户界面上的组件可以按不同方式排列。 Java使用布局管理器来管理这些排列方式 。 每

13、当需要重新调整屏幕大小或重新绘制屏 幕上任一项目时,就要用到布局管理器。 AWT提供一组用来进行布局管理的类,称 为布局管理器或布局。所有布局都实现 LayoutManager接口。1616布局类型 Java中的布局类型包括以下几种: - FlowLayout(流式布局) - BorderLayout (边界布局) - GridLayout(网格布局) - GridBagLayout(网格包布局) - CardLayout (卡片布局)1717布局类型的选用 每个布局管理器都有自己特定的用途。- 要按行和列显示几个同样大小的组件, GridLayout 会比较合- 要在尽可能大的空间里显示一个

14、组件,就要 选择 BorderLayout 或 GridBagLayout 1818如何设置布局 每个容器(Container对象)都有一个与它 相关的缺省的布局管理器。 - Applet 的缺省布局是 FlowLayout 在没有设置新的布局前,在容器中添加 组件都按照该容器的缺省布局排列。 可以通过setLayout( )方法为容器设置新的 布局。 1919FlowLayout FlowLayout的构造函数有: - FlowLayout( ):生成一个默认的流式布局 - FlowLayout(int alignment):可以设定每一行组 件的对齐方式 - FlowLayout(int

15、alignment,int horz,int vert):可以 设定组件间的水平和垂直距离vApplet和面板的缺省布局 v组件从左上角开始按从左 到右、从上到下的方式排列FlowLayout mylayout = new FlowLayout();FlowLayout exLayout = new FlowLayout(FlowLayout.RIGHT);setLayout(exlayout); / 为容器设置新布局 2020BorderLayout 2-1 下面是BorderLayout所定义的构造函数:- BorderLayout( ):生成默认的边界布局- BorderLayout(i

16、nt horz,int vert): 可以设定组件间 的水平和垂直距离 v窗口、框架和对话框 等的缺省布局 v组件可被置于容器的 北、南、东、西或中间 位置2121BorderLayout 2-2 BorderLayout 类定义了几个常量值以指定 相应区域: -BorderLayout.NORTH 对应容器的顶部 -BorderLayout.EAST 对应容器的右部 -BorderLayout.SOUTH 对应容器的底部 -BorderLayout.WEST 对应容器的左部 -BorderLayout.CENTER 对应容器的中部 加入组件方法:void add(Component Obj, int region); . . . setLayout(new BorderLayout();Button btnEast

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号