AWT组件

本文介绍了Java AWT中的组件,包括Component、Container、Window、Panel、Frame、Dialog、Label、TextField和Button。Component是所有组件的基类,提供基本操作。Container是特殊组件,可以包含其他组件。Window和Panel是两种容器类型,Window可以独立存在,Panel必须包含在其他容器中。Frame和Dialog是Window的子类,用于创建主窗口和对话框。Label用于显示文本,TextField用于单行文本输入,Button则用于执行操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

AWT组件

1、组件是构成图形用户界面的基本成分和核心元素。组件具有以下特性的对象:运行时可见,具有坐标位置、尺寸、字体、颜色等属性,能拥有及管理其他组件,可获得输入焦点可被操作,可响应事件等。

Component组件类是一个抽象类,它是AWT组件类层次结构的根类,实际使用的组件都是Component的子类。Component类提供对组件操作的通用方法,包括:获得或设置组件位置、大小、标题文本字体、标题文本颜色、背景颜色等属性值,响应鼠标或键盘事件,组件绘图等。

public abstract class Component implements ImageObserver,MenuContainer,Serializable{

   public int getWidth()                         //获得组件宽度

   public int getHeight()                        //获得组件高度

   public void setSize(int width,int height)     //设置组件宽度和高度

   public int getX()                             //返回组件位置的X坐标值

   public int getY()                             //返回组件位置的Y坐标值

public void setLocation(int x,int y) //设置组件坐标的位置,x、y指定组件左上角相对于容器的坐标位置

   public void setBounds(int x,int y,int width,int height)    //设置组件坐标位置和宽度、高度

   public Color getBackground()                  //获得组件的背景颜色

   public void setBackground(Color c)            //设置组件的背景颜色

   public Font getFont()                         //获得组件字体

   public void setFont(Font f)                   //设置组件字体

   public void setVisible(boolean b)             //设置组件是否可见

}

2、容器

容器是一个特殊的组件,它能容纳其他组件,在其可视区域内显示这些组件。容器中各组件的大小和位置由容器的布局管理器进行控制。一个容器之中可以放置其他容器,使用多层容器可以表达复杂的布局。

public class Container extends Component{

   public void setLayout(LayoutManager mgr)     //设置布局管理器

   public Component add(Component comp)         //在容器中添加组件,用于任何布局

   public void remove(Component comp)           //从容器中移去指定组件

   public void removeAll()                      //从容器中移去所有组件

}

3、窗口和面板

容器有窗口和面板两种,对应有Window窗口类和Panel面板类,它们都是Container容器的子类。

窗口有标题栏和关闭控制按钮,没有边框,没有菜单栏;窗口可独立存在,运行时可被移动,可改变大小。窗口是顶层容器,窗口不能包含在其他容器中。Window类声明如下:

public class Window extends Container implements Accessible

面板没有标题,没有边框,不可添加菜单栏;面板不能独立存在,必须包含在其他容器中。一个窗口可以包含多个面板,一个面板可以包含另一个面板。Panel类声明如下:

public class Panel extends Container implements Accessible{

   public Panel()                              //默认FlowLayout布局

   public Panel(LayoutManager layout)          //layout指定布局管理器

}

4、框架和对话框

Window窗口类的子类主要有:Frame框架和Dialog对话框。

Java Application 应用程序使用Frame作为主窗口,Frame带有最大化和最小化控制按钮。Frame 类声明如下:

public class Frame extends Window implements MenuContainer{

   public Frame()                            

   public Frame(String title)                 //title指定框架标题

   public String getTitle(String title)       //获取框架标题

   public void setTitle(String title)         //设置或修改框架标题

   public void setResizable(boolean b)        //设置框架是否改变大小

   public void setBackground(Color c)         //设置框架背景颜色

}

Frame类实例化时默认是不可见的、最小化的,通常用setSize()。

对话框不能作为应用程序的主窗口,它通常依附于一个框架,当框架关闭时,对话框也关闭。对话框界面比框架简单,没有最大化和最小化控制按钮。对话框可以被设置为模式窗口,特点是总在最前面,如果不关闭模式对话框,则不能对其他窗口进行操作。

public class Dialog extends Window{

   public Dialog(Frame owner)                  //owner指明拥有对话框的框架

   public Dialog(Frame owner,String title)     //title指定对话框标题

   public Dialog(Frame owner,boolean modal)    //modal指定模式窗口,默认false

   public Dialog(Frame owner,String title,boolean modal)    

}

Frame和Dialog实例默认是白色背景、最小化的、不可见的,调用setSize()方法设定窗口大小,调用setBackground()方法设置背景颜色,调用setVisible(true)方法使窗口可见。

5、标签

Label标签组件用于显示文本信息。标签只能显示信息,不能用于输入。部分声明如下:

public class Label extends Compontent implements Accessible{

   public static final int LEFT=0;               //左对齐,默认值

   public static final int CENTER=1;             //居中

   public static final int RIGHT=2;              //右对齐

   public Label()                               

   public Label(String text)                     //text指定显示字符串

   public Label(String text,int alignment)       // alignment指定对齐方式

   public String getText()                       //获得显示字符串

   public void setText(String text)              //设定显示字符串

}

其中,text指定显示字符串,alignment指定对齐方式,取值为Label的常量:LEFT(左对齐,默认值)、RIGHT(右对齐)、CENTER(居中)。

6、文本行

TextField文本行是一个单行文本编辑框,用于输入一行文字。部分声明如下:

public class TextField extends TextComponent{

   public TextField()

   public TextField(String text)

   public TextField(int columns)

   public TextField(String text,int columns)

}

TextField从其父类TextComponent中继承了获得和设置文本内容的getText()、setText()等方法。TextComponent类及其声明的方法如下:

public class TextComponent extends Component implements Accessible{

   public String getText()                       //获得文本行字符串

   public void setText(String text)              // 设置文本行字符串

   public void setEditable(boolean b)            //设置是否可以编辑,b默认true,可编辑

   public boolean isEditable()                   //判断文本行是否可编辑

}

7、按钮

Button按钮用于执行一种特定操作。Button类及其声明的方法如下:

public class Button extends Component implements Accessible{

   public Button(String text)

}

图形用户界面的应用程序运行时所产生的错误和异常,分别由java.awt包中的AWTException和AWTError类处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值