图形用户界面三大要素
1.容器
2.控制组件
3.用户自定义成分
1.容器 =====用来组织其他界面成分和元素的单元,一个图形用户界面就是一个复杂的容器
特点
1.有一定范围和位置
2.容器通常有一个能覆盖全部容器的背景,在其上面安放容器所包含的其他界面成分和元素
3.容器可以被包含在其他容器中
2.控制组件===图形用户界面中最小的单位,不包含其他元素和成分 功能是完成用户的一次交互
目前的控制组建有
复选框 checkbox **单选按钮 radiobutton // checkboxgroud **
可以让用户做出多项选择
创建复选框
checkbox c=new checkbox();
复选框构造方法
checkbox()//创建一个没有标签的复选框
checkbox(“string label”)//创建一个有标签的复选框
选项按钮 checkboxgroup
单选按钮,是一组按钮,只能选择一个
选项按钮的构造方法
checkboxgroup()//创建选项按钮
常用方法
public checkboxgroup getcheckboxgroup()//返回选项按钮中所选的复选框
public string getlabel();//返回选项按钮或复选框中的标签
public void setcheckboxgroup(checkboxgroup)//设置选项按钮所选复选框
public Boolean getstate()//返回是否被选中
public void setlabel(string label)//设置标签
public void setstate(Boolean state)//设置是否被选中
**列表 list **
创建列表框
list list=new list();
构造方法
public list (int items,Boolean ms)
items表示一次可以显示几个选项
ms表示逻辑值,当ms为false时,则list为单项选择
ms为true时,list则为多项选择
创建选项框
choice c=new choice();
选项框的常用方法
public void additem(string item)//向选项框中加入选项item
public int countitem();//返回选项框中的选项数目
public string getitem(int index)//返回指定下标的某个选项
public string getselectitem();//返回被选中的选项
public void select(int pos)//选择指定下标值得选项
public void select(string str)//选择指定选项
标签 label
功能:显示单行的字符串,起传递信息的作用
每一个标签用一个label类的对象表示。创建标签的时候应该说明这个标签的字符串
label ch1=new label(“字符串”);
label类的3个构造函数
label()空标签
label(string 字符串)构造一个显示内容为字符串的标签
label(string label ,int alignment)构造一个显示字符串为string的标签并制定他的位置 分别用label类的三个常量left center right
使用容器container中的方法add()将标签组件安放在容器上面
标签类提供四种常用方法
public int getalignment()//返回当前的对齐方式
public string gettext()//返回当前显示的内容
public void setalignment(int alignment)//设置对齐方式
public void settext(string label)//设置显示的字符串
文本编辑区 edit // textfield ///textarea
textfield继承了textcomponent类,该类又继承了component类
构造方法
public textfield();//默认长度文本框
public textfield(int i)创建一个能容纳i个字符的文本框
public textfield(string text)//创建一个带有初始字符串的文本框
public textfield (string text,int i)//创建一个带有初始字符串并且能容纳指定长度的文本框
文本框常用方法
public void setechochar(char c)//设置用户输入字符的回显字符
public void settext(string t)//设置文本框的文本内容
创建文本区
textarea ta=new textarea();
文本区构造方法
public textarea();//构造一个默认大小的文本区
public textarea(int row;int columns)//创建一个指定行数和列数的文本区
public textfarea(string text)//创建一个带有初始字符串的文本区
public textarea(string text,int row,int column)//创建一个带有初始字符串并且能容纳指定长度的文本框
public textarea(string text,int row,int column ,int scrollbars )//创建一个带有初始字符串并且能容纳指定长度,并带有滚动条的文本框
常用方法
public void append(string str)//在文本区后面添加文本
public void settext(string c)//设置文本区的具体内容
public int getrows()//返回文本区行数
public int getcolumns()//返回文本区列数
public void setrows(int rows)//设置文本区行数
public void setcolumns(int columns)//设置文本区列数
public void seteditable(Boolean b)//设置文本区可写状态
按钮 button
按钮是用来触发特定动作的组件,按钮类button直接继承component
创建按钮
button ch1=new button(“”)
按钮的构造函数
1.button()//创建一个没有标签的按钮
2.button(string label)创建一个显示标签的按钮
常用的button类方法
1.public string getlabel()//返回按钮标签
2.public void setlabel(string label)//为指定按钮设定标签
菜单 menu
** 组件布局管理===layoutmanager**
1.顺序布局
面板panel和他的子类applet的默认布局方式,可以容多个组件
顺序布局是将组件一个个的从左到右依次排列, 在这个布局中,add()可以将组件加入到容器的组件队列中
2.边界布局====borderlayout
按照上北下南,左西又东,中中的规律排列
3.网格布局
把容器分为若干个网格,适合数量庞大的组件,创建时需给出行数,列数
网格包布局
每个组件可以占用不止一个网格
4.卡片布局====cardlayout
将组件像卡片一样放置,每次只显示一个,实现界面切换