当前位置:
文档之家› 第11讲 JAVA图形用户界面设计之主要组件(一)
第11讲 JAVA图形用户界面设计之主要组件(一)
8.1 命令按钮(Button)
按钮由Button类创建,而Button类是由 类创建, 类是由Component 按钮由 类创建 类是由 类直接扩展的。要想使Button可见,必须使用 可见, 类直接扩展的。要想使 可见 必须使用add方法将 方法将 它们添加到一个容器中。 它们添加到一个容器中。 Button类的构造函数及常用方法如图所示。 类的构造函数及常用方法如图所示。 类的构造函数及常用方法如图所示
例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.3程序运行结果如图所示
8.3 布局管理器
8.3.1 布局管理器概述 布局管理器会依据组件的加入顺序决定其摆放方 组件的大小、形状、位置, 式。组件的大小、形状、位置,在不同的布局管理器 下有显著的不同。此外, 下有显著的不同。此外,布局管理器会自动适应小程 序或应用程序窗口的大小, 序或应用程序窗口的大小,所以如果某个窗口的大小 改变了,那么其上各个组件的大小、形状、 改变了,那么其上各个组件的大小、形状、位置都有 可能发生改变。 可能发生改变。 Java提供以下几种布局管理器: 提供以下几种布局管理器: 提供以下几种布局管理器 流布局(FlowLayout)、边界布局 流布局 、边界布局(BorderLayout)、 、 网格布局(GridLayout)、网格包布局 网格布局 、网格包布局(GridBagLayout)、 、 卡片布局(CardLayout)和手工布局。 卡片布局 和手工布局。 Panel、Applet的默认布局为流布局,Window、 的默认布局为流布局, 、 的默认布局为流布局 、 Frame的默认布局为边界布局。 的默认布局为边界布局。 的默认布局为边界布局
例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.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.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程序运行结果如图所示
8.3.4 网格布局(GridLayout)
网格布局将容器划分成网格, 网格布局将容器划分成网格,这样各个组件就可以按 行列放置到每个网格中,每个组件的大小一样。 行列放置到每个网格中,每个组件的大小一样。在向 GridLayout添加组件时,其顺序是从网格的左上角开始, 添加组件时, 添加组件时 其顺序是从网格的左上角开始, 从左向右排列,直到排满一行, 从左向右排列,直到排满一行,再从下一行开始从左向右 依次排列。 类的构造函数如下: 依次排列。GridLayout类的构造函数如下: 类的构造函数如下
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); } }
Hale Waihona Puke 例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.1程序运行的结果如图所示。
8.2 标签(Label)
标签使用Label类来创建,而Label类是从 类来创建, 类是从Component类 标签使用 类来创建 类是从 类 直接扩展而来的。 直接扩展而来的。Label类的构造函数及常用方法 如图所示。 类的构造函数及常用方法 如图所示。
例8.2 标签控件
使用JAVA程序设计 程序设计 使用
上堂讲授 shangtang jiangshou
图形用户界面基本概念 基本组件的使用
窗体的使用
JAVA的 第8讲 JAVA的 图形用户界面设计 ----主要组件 主要组件( ----主要组件(一)
湖南财经高等专科学校信息管理系 李博
本章要点
掌握命令按钮的常用方法与常用属性 掌握标签框的常用方法与常用属性 了解如何使用布局管理器对组件进行管理
8.3.2 流布局(FlowLayout)
又称顺序布局。 又称顺序布局。这种布局管理器很单纯地将组件由左 至右依次排列在容器上, 至右依次排列在容器上,直到上端空间排满后才会移到下 一列;相同的水平排列方式不断持续进行下去。 一列;相同的水平排列方式不断持续进行下去。 FlowLayout的构造函数如下: 的构造函数如下: 的构造函数如下
例8.7程序运行结果如图所示
8.3.5 卡片布局(CardLayout)
CardLayout布局好像是将各个组件作为卡片排放到 布局好像是将各个组件作为卡片排放到 一个“卡片盒” 只有最上面的卡片可见。 一个“卡片盒”中,只有最上面的卡片可见。可以通过这 种布局的方法将卡片中的任何一张移到最上面。 种布局的方法将卡片中的任何一张移到最上面。通常每张 卡片都是一个容器(如面板 如面板) 卡片都是一个容器 如面板 。CardLayout类的构造函数 类的构造函数 及常用方法如下: 及常用方法如下:
例8.5程序运行结果如图所示
8.3.3 边界布局(BorderLayout)
这种布局将组件按5个区域来安排:北区、西区、 这种布局将组件按 个区域来安排:北区、西区、南 个区域来安排 东区和中区,分别对应于窗口的顶部、左部、底部、 区、东区和中区,分别对应于窗口的顶部、左部、底部、 右部和中部。其构造函数如下: 右部和中部。其构造函数如下:
例8.2程序的运行结果如图所示