第11讲 JAVA图形用户界面设计之主要组件(一)
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例8.5程序运行结果如图所示
8.3.3 边界布局(BorderLayout)
这种布局将组件按5个区域来安排:北区、西区、 这种布局将组件按 个区域来安排:北区、西区、南 个区域来安排 东区和中区,分别对应于窗口的顶部、左部、底部、 区、东区和中区,分别对应于窗口的顶部、左部、底部、 右部和中部。其构造函数如下: 右部和中部。其构造函数如下:
例8.8 演示CardLayout的简单用法。
import java.applet.Applet; import java.awt.*; public class CardLayoutDemo extends Applet{ private Label card1,card2,card3,card4; public void init(){ card1=new Label("Card1"); card2=new Label("Card2"); card3=new Label("Card3"); card4=new Label("Card4"); CardLayout myCard=new CardLayout(); setLayout(myCard); add("Card1",card1); add("Card2",card2); add("Card3",card3); add("Card4",card4); myCard.show(this,"Card2"); myCard.next(this); } }
例8.6 演示BorderLayout的使用。
import java.applet.Applet; import java.awt.*; public class BorderLayoutDemo extends Applet{ public void init(){ //set layout to border layout setLayout(new BorderLayout()); //add five buttons in any order add(new Button("North"),BorderLayout.NORTH); add(new Button("South"),BorderLayout.SOUTH); add(new Button("Center"),BorderLayout.CENTER); add(new Button("West"),BorderLayout.WEST); add(new Button("East"),BorderLayout.EAST); } }
8.3.2 流布局(FlowLayout)
又称顺序布局。 又称顺序布局。这种布局管理器很单纯地将组件由左 至右依次排列在容器上, 至右依次排列在容器上,直到上端空间排满后才会移到下 一列;相同的水平排列方式不断持续进行下去。 一列;相同的水平排列方式不断持续进行下去。 FlowLayout的构造函数如下: 的构造函数如下: 的构造函数如下
例8.6程序运行结果如图所示
8.3.4 网格布局(GridLayout)
网格布局将容器划分成网格, 网格布局将容器划分成网格,这样各个组件就可以按 行列放置到每个网格中,每个组件的大小一样。 行列放置到每个网格中,每个组件的大小一样。在向 GridLayout添加组件时,其顺序是从网格的左上角开始, 添加组件时, 添加组件时 其顺序是从网格的左上角开始, 从左向右排列,直到排满一行, 从左向右排列,直到排满一行,再从下一行开始从左向右 依次排列。 类的构造函数如下: 依次排列。GridLayout类的构造函数如下: 类的构造函数如下
例8.7程序运行结果如图所示
8.3.5 卡片布局(CardLayout)
CardLayout布局好像是将各个组件作为卡片排放到 布局好像是将各个组件作为卡片排放到 一个“卡片盒” 只有最上面的卡片可见。 一个“卡片盒”中,只有最上面的卡片可见。可以通过这 种布局的方法将卡片中的任何一张移到最上面。 种布局的方法将卡片中的任何一张移到最上面。通常每张 卡片都是一个容器(如面板 如面板) 卡片都是一个容器 如面板 。CardLayout类的构造函数 类的构造函数 及常用方法如下: 及常用方法如下:
例8.1 按钮组件
import java.applet.Applet; import java.awt.*; public class MyButtons extends Applet{ private Button button1,button2,button3; public void init() { button1=new Button("Click here"); button2=new Button("Sorry, I do nothing"); button3=new Button(); //add buttons add(button1); add(button2); add(button3); } }
例8.8程序运行结果如图所示
课堂小结 ketang xiaojie
命令按钮的使用 标签框的使用
布局管理器的使用
谢谢!
例8.7 演示GridLayout的使用。
import java.applet.Applet; import java.awt.*; public class GridLayoutDemo extends Applet{ public void init(){ setLayout(new GridLayout(3,3)); for(int i=1;i<=8;i++){ add(new Button("Button" + i)); } } }
例8.1程序运行的结果如图所示。
8.2 标签(Label)
标签使用Label类来创建,而Label类是从 类来创建, 类是从Component类 标签使用 类来创建 类是从 类 直接扩展而来的。 直接扩展而来的。Label类的构造函数及常用方法 如图所示。 类的构造函数及常用方法 如图所示。
例8.2 标签控件
8.1 命令按钮(Button)
按钮由Button类创建,而Button类是由 类创建, 类是由Component 按钮由 类创建 类是由 类直接扩展的。要想使 可见 必须使用add方法将 方法将 它们添加到一个容器中。 它们添加到一个容器中。 Button类的构造函数及常用方法如图所示。 类的构造函数及常用方法如图所示。 类的构造函数及常用方法如图所示
例8.4 演示FlowLayout的使用。
程序中创建了10个按钮, 程序中创建了 个按钮,并设置布局管理器的对齐方式为左对 个按钮 齐。 import java.applet.Applet; import java.awt.*; public class FlowLayoutDemo extends Applet{ public void init(){ setLayout(new FlowLayout()); for(int i=0;i<8;i++){ add(new Button("Button"+i)); } } }
例8.2程序的运行结果如图所示
在初始时刻标签也可以不必显示任何在后面 程序中,使用setText方法为该标签设置文本。 方法为该标签设置文本。 程序中,使用 方法为该标签设置文本 getText方法用于获取该标签的文本。 方法用于获取该标签的文本。 方法用于获取该标签的文本
例8.3 标签控件
import java.applet.Applet; import java.awt.*; public class MyLabel2 extends Applet{ private Label label1; public void init() { label1=new Label(); //set text in label1 label1.setText("new text"); //add label component add(label1); } public void paint(Graphics g) { //get label1's text showStatus("Label is displaying: " + label1.getText()); } }
import java.applet.Applet; import java.awt.*; public class MyLabel extends Applet{ private Label label1,label2; public void init() { label1=new Label(); //create a Label without text //create a Label with a string argument label2=new Label("Label with text"); //add labels to applet add(label1); add(label2); } }
使用JAVA程序设计 程序设计 使用
上堂讲授 shangtang jiangshou
图形用户界面基本概念 基本组件的使用
窗体的使用
JAVA的 第8讲 JAVA的 图形用户界面设计 ----主要组件 主要组件( ----主要组件(一)
湖南财经高等专科学校信息管理系 李博
本章要点
掌握命令按钮的常用方法与常用属性 掌握标签框的常用方法与常用属性 了解如何使用布局管理器对组件进行管理
例8.3程序运行结果如图所示
8.3 布局管理器
8.3.1 布局管理器概述 布局管理器会依据组件的加入顺序决定其摆放方 组件的大小、形状、位置, 式。组件的大小、形状、位置,在不同的布局管理器 下有显著的不同。此外, 下有显著的不同。此外,布局管理器会自动适应小程 序或应用程序窗口的大小, 序或应用程序窗口的大小,所以如果某个窗口的大小 改变了,那么其上各个组件的大小、形状、 改变了,那么其上各个组件的大小、形状、位置都有 可能发生改变。 可能发生改变。 Java提供以下几种布局管理器: 提供以下几种布局管理器: 提供以下几种布局管理器 流布局(FlowLayout)、边界布局 流布局 、边界布局(BorderLayout)、 、 网格布局(GridLayout)、网格包布局 网格布局 、网格包布局(GridBagLayout)、 、 卡片布局(CardLayout)和手工布局。 卡片布局 和手工布局。 Panel、Applet的默认布局为流布局,Window、 的默认布局为流布局, 、 的默认布局为流布局 、 Frame的默认布局为边界布局。 的默认布局为边界布局。 的默认布局为边界布局