GUI : Graphical User Interface (图形用户接口)。
用图形的形式显示计算机操作的界面,更直观。
CLI: Command Line User Interface (命令行用户接口)。
常见的DOS命令行操作,不直观。
java为GUI提供的对象都在 java.Awt 和 java.Swing 两个包中。
java.Awt : 抽象窗口工具包:Abstract window ToolKit。
需要调用本地系统的方法实现功能,重量级控件(依赖系统)。
java.Swing : 在Awt的基础上建立的一套图形界面系统,它提供了更多组件,且完全由java实现。
增强了移植性,属轻量级控件(系统依赖性很低)。
组件关系简表:
布局:
FlowLayout : 流式布局,Panel默认的布局,默认居中,从左往右排列。
BorderLayout :边界布局,Frame默认的布局,需要指定边界,否则全部居中填充显示。
CardLayout :卡片式布局,选项卡形式的布局。
GridLayout :网格布局,将面板划分成规则的矩阵排列,每一小格可容纳一个组件。
GridBagLayout :网格包布局,不太规则的网格布局,有的组件会占用多个网格的形式。
注:坐标式布局最方便,没有布局上的约束,只要指定坐标就可以达到其他布局能达到的效果。
一:Component及其子类介绍
Component :组件。
具有图形表示能力的组件对象。常用方法:
String getName() //获取组件的名称 void setName(String s) //设置名称 int getHeight() //获取组件的高度 int getWidth() //获取组件的宽度 void setSize(int x,int y) //设置窗体横纵长度 void setLocation(int x,int y) //设置组件的左上角距左边和上边位置。 void setBounds(x,y,w,h) //设置组件的大小和位置 void setVisible(boolean b) //设置是否可见 Font getFont() //获取组件的字体 void setFont(Font f) //设置字体 boolean isShowing() //组件是否在屏幕上显示 boolean isVisible() //如果组件是可见的,返回true void addKeyListener(KeyListener kl) //对此对象添加键盘监听器 void addMouseListener(MouseListener ml) //对此对象添加鼠标监听器
Button :按钮。
Component 的子类。构造方法:
Button() //空标签的按钮 Button(String s) //指定标签的按钮
常用方法:
void addActionListener(ActionListener al) //对按钮对象添加动作监听器 String getLabel() //获取按钮标签 void setLabel(String s) //设置按钮标签
Label :标签。
Component 的子类。构造方法:
Label() //构造空标签 Label(String s) //构造指定文本的标签
常用方法:
String getText() //获取标签文本 void setText(String s) //设置标签文本
Checkbox :复选框。
Component 的子类。常用方法:
String getLabel() //获取复选框的标签文本 void setLabel(String s) //设置复选框的标签文本
TextComponent :文本组件。
它有两个子类,
(1) TextArea :文本域。构造方法:
TextArea() //构造新文本域 TextArea(String s) //构造指定初始字符串的文本域 TextArea(int row,int col) //构造指定行列数的文本域 TextArea(String s,row,col) //构造指定初始字符串和行列数的文本域
常用方法:
void append(String s) //对文本域添加字符串 void insert(String s,int pos) //在文本域的指定位置插入字符串 void setColumns(int col) //设置文本域列数 void setRows(int row) //设置文本域行数 int getColumns() //获取文本域列数 int getRows() //获取文本域行数
(2) TextField :文本框。
单行文本框组件。构造方法:
TextField() //构造默认文本框 TextField(int len) //构造指定列数的文本框 TextField(String s) //构造包含指定内容的文本框 TextField(String s,int len) //构造包含指定内容的固定长度文本框
常用方法:
int getColumns() //获取文本框的列数 void setColumns(int col) //设置文本框的列数 void setText(String s) //设置文本框的内容 void addActionListener(ActionListener al) //给文本框对象添加动作监听器
Container : 组件容器。
它是 Component 的子类。常用方法:
Component add(Component c) //添加一个组件 Component add(Component c,int index) //指定位置添加组件 void setLayout(LayoutManager lm) //设置布局
二:Container 的子类介绍
Panel :面板。
应用程序可以将其他组件放在面板提供的空间内,默认 FlowLayout 布局。构造方法:
Panel() //使用默认的布局管理器创建新面板 Panel(Layout) //使用指定布局创建面板
Window :窗体。
没有边界和菜单栏的窗体,默认 BorderLayout 。常用方法 :
addWindowListener(WindowListener wl) //对窗体添加监听器
三:Window 的子类介绍
Frame :框架。
带有标题和边框的框架,默认 BorderLayout 。
它是 Window 的子类构造方法:
Frame() //构造一个最初不可见的窗体实例。 Frame(String title) //构造一个指定标题的最初不可见的窗体示例。
常用方法:
String getTitle() //获取框架标题
Dialog :对话框。
默认布局 BorderLayout 。构造方法:
Dialog(Dialog dl) //指定所有者为对话框的对话框 Dialog(Dialog dl,title) //指定所有者和标题的对话框 Dialog(Dialog dl,title,true) //指定所有者和标题的对话框,模式为阻止切换窗体模式。 Dialog(Frame f) //指定所有者为框架的对话框 Dialog(Frame f,title) //指定所有者和标题的对话框 Dialog(Frame f,title,true) //指定所有者和标题的对话框,模式为阻止切换窗体模式。 Dialog(Window w) //指定所有者为窗体的对话框 Dialog(Window w,title) //指定所有者和标题的对话框 Dialog(Window w,title,true) //指定所有者和标题的对话框,模式为阻止切换窗体模式。
注: Dialog中的模式,是指在不对对话框进行制定操作的情况下,是否禁止用户对其他窗体进行操作。
设置为true代表禁止用户在未确认时进行其他操作。常用方法:
String getTitle() //获取标题 void setTitle(String s) //设置标题 void setVisible(boolean b) //设置对话框可见
Dialog 常用的子类
FileDialog :文件对话框。
FileDialog 有两种模式,读取文件和保存文件:
FileDialog.LOAD , FileDialog.SAVE 。
默认模式是 FileDialog.LOAD ,代表读取一个文件。构造方法:
FileDialog(Frame f) //创建指定所有者的文件对话框 FileDialog(Frame f,String title) //创建指定所有者和标题的文件对话框 FileDialog(Frame f,title,mode) //创建指定标题,所有者,模式的文件对话框 FileDialog(Dialog log) //创建指定所有者的文件对话框 FileDialog(Dialog log,String title) //创建指定标题和所有者的文件对话框 FileDialog(Dialog log,title,mode) //创建指定标题,所有者