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像素

   文本区是一个多行文本编辑框,其基本操作与文本行类似,但其中增加了滚动条功能