1.组件
组件(component)是构成图形用户界面的基本成分和核心元素,组件类(Component)是一个抽象类,是AWT组件类的根类,实际使用的组件都是Component的子类。Component类提供对组件操作的通用方法,包括设计组件位置,设置组件大小,设计组件字体,响应鼠标或键盘事件,组件重绘等。
类java.awt.Component是许多组件类的父类,Component类中封装了组件通用的方法和属性,如图形的组件对象、大小、显示位置、前景色和背景色、边界、可见性等,因此许多组件类也就继承了Component类的成员方法和成员变量,相应的成员方法包括:
getComponentAt(int x, int y)
getFont()
getForeground()
getName()
getSize()
paint(Graphics g)
repaint()
update()
setVisible(boolean b)
setSize(Dimension d) setName(String name)
2.容器
容器(container)是一种特殊组件,他能容纳其他组件。它在可视区域内显示其他组件。由于容器是组件,在容器中还可以放置其他容器,所以可以使用多层容器构成富有变化的界面。
3.窗口和面板
容器有两种:窗口(window)和面板(panel).
窗口可独立存在,可被移动,也可被最大化和最小化,有标题栏,边框,可添加菜单栏。面板不能独立存在,必须包含在另一个容器中,面板没有标题。没有边框,不可以添加菜单栏,一个窗口可以包含多个面板,一个面板也可以包含另一个面板,但面板不能包含窗口。
窗口类和面板类都是容器类的子类。
4.框架与对话框
窗口类(Window)主要有两个子类:框架类(Frame)和对话框类(Dialog)。
框架是一种带标题栏并且可以改变的大小的窗口,在应用程序中,使用框架作为容器,在框架中放置组件。框架类在实例化时默认是最小化的,不可见的,必须通过setSize()方法设置框架大小,通过setVisible()方法使框架可见。
框架类的构造方法和主要成员方法如下:
构造方法:
Frame() //创建一个没有标题的窗口
Frame(String title) //创建title为标题的窗口
成员方法:
int getState() //获得Frame窗口的状态(Frame.Normal 表示一般状态,Frame.ICONIFIED表示最小化状态)
void setState(int state) //获得Frame窗口的状态(Frame.Normal 表示一般状态,Frame.ICONIFIED表示最小化状态)
String getTitle() //获得Frame窗口的标题
void setTitle(String title) //设置Frame窗口的标题
boolean isResizable() //测试Frame窗口是否可以改变大小
void setResizable() //设置Frame是否可以改变大小
Image getIconImage() //返回窗口的最小化图标
void setIconImage(Image img) //设置窗口的最小化图标为img
void setSize(int a,int b) //设置长为a,宽为b的窗口
void setLocation(int a,int b) //设置窗口左上角距离屏幕左上角水平距离为a像素,垂直距离为b像素
setBounds(int a,int b,int c,int d) //设置窗口左上角位于屏幕左上角,长为c像素,宽为d像素
void setVisible(boolean a) //设置窗口是否可视化
boolean isVisible() //返回窗口是否可视化
void setBackground(Color.red) //设置窗口的背景颜色为红色
void add(Component a) //像窗口中添加组件a
void setLayout(null) //关闭窗口的默认布局管理
void setLayout(布局管理器) //设置使用特定的布局管理器
对话框(dialog)也是一种可移动的窗口,它比框架简单,没有太多的控制元素,如最大化按钮,状态栏等。
对话框不能作为应用程序的主窗口,它依赖于一个框架窗口而存在。对话框类的构造方法必须声明对话框所依赖的框架窗口。
5.标签
标签类(Label)组件用于显示一行文本信息。标签只能显示信息,不能用于输入。
标签类的构造方法和成员方法如下:
构造方法:
Label() //创建一个没有标题的标签
Lable(String str) //创建一个标题为str的标签
Lable(String str,int align) //创建一个str为标题,对其方式为align的标签,其中Lable.LEFI/CENTER/RIGHT
成员方法:
int getAlignment () //返回标签标题的对其方式
void setAlignment(int align) //设置标签标题的对齐方式
String getText() //获得标签标题
void setText(String str) //设置标签标题为str
void setBackground(Color.red) //设置标签背景颜色为红色
void setForeground(Color.red) //设置标签标题颜色为红色
void setFont(fnt) //设置标签字体的格式为fnt,Font fnt=new Font("Serief",Font.ITALTC+Font.BOLD,22);
Color类是java.awt包中的常用类之一,用来设置颜色,其构造方法有两个:
public Color(float r,float g,float b)
public Color(int r,float g,float b)
其中,r,g,b分别代表红,绿,蓝三种颜色的成分。float型的参数范围是0.0~1.0,int型参数r,g,b的取值范围是0~255.
除此以外Color类中提供了一些颜色对象供用户使用,如Color.red,Color.black等。
Font 类用于设置字体样式,大小与字形, 许多方法都需要用Font类对象作为参数,Font类的构造方法如下:
public Font(string name,int Style,int size)
其中,name为字体名称,如Arial,Dialog,Times New Roman,Serief等;style是字形样式,可以设为Font.PLAIN(一般),Font.BOLD(粗体),Font.ITALIC(斜体),如要并列设置之间用+连接,如Font.BOLD+Font.ITALIC,size是字体大小。
6.按钮
按钮(button)是最常用的组件,用来控制程序的运行方向,用户单击按钮时,计算机将执行一系列命令,完成一系列功能
按钮通过java.awt的Button类创建。
Button类的构造方法和成员方法:
构造方法:
Button() //创建一个没有标题的按钮
Button(String str) //创建一个以str为标题的按钮
成员方法:
String getLabel() //获得按钮的标题
void setLable(String str) //设置按钮的标题为str
void setSize(int a,int b) //设置按钮的长为a,宽为b
void setLocation(int a,int b) //设置按钮左上角离窗口左上角的水平距离为a,垂直距离为b
7.文本编辑组件
文本编辑组件有文本行和文本区。
文本行是一个单行文本编辑框,用于输入一行文字。文本行由java.awt包中的TextField类来创建。
TextField类的构造方法和成员方法:
构造方法:
TextField() //创建空的文本行
TextField(int columns) //创建列数为columns的文本行
TextField(String text) //创建文本为text的文本行
TextField(String text,int columns) //创建列数为columns,文本为text的文本行
成员方法:
String getText() //获得文本行的文本
int getColumns() //返回文本行的列数
void setText(String text) //设置文本行的文本为text
void append(String str) //在文本行显示字符串信息
void setColumns(int columns) //设置文本行的列数为columns
setBounds(int a,int b,int c,int d) //设置文本行左上角位于窗口左上角,长为c像素,宽为d像素
文本区是一个多行文本编辑框,其基本操作与文本行类似,但其中增加了滚动条功能