1. GUI:图形用户界面。它是Java提供的一种图形用户界面编程方式。
AWT:抽象窗口工具集,是Sun公司在Java 1.0版本中提供一种最原始的图形界面类库。图形的元素委托给操作系统平台。
不同的操作系统平台下,图形元素的属性和行为会有差别。平台移植性很差。
Swing:Java SE 后来的版本中,在AWT的基础上重新提供了一套新的国形界面类库。图形的元素全部用Java语言重新编写。
与具体的操作系统无关,移植性高。
Swing并没有取代AWT,它只是在AWT的基础上进行修改,提供功能更强大的组件。
2. JFC:Java基础类库,它提供了一套对图形界面编程的包。包括:Swing的API、2D编程API、可插拨的观感API、国际化API等。
3. Swing的容器:可以存放其它组件的组件。
a) 顶层容器:独立存在。
javax.swing.JFrame:窗体。带标题栏和重置角标。默认是BorderLayout布局管理器。
常用方法:
void setTitle(String title);
void setSize(int width, int height);
void setLocation(int x, int y);
void setBounds(int x, int y, int width, int height);
void setResizable(boolean flag);
void setDefaultCloseOperation(int i);
void setVisible(boolean flag);
void dispose();
void setLayout(LayoutManager lm);
Component add(Component comp);
javax.swing.JDialog:对话框。
javax.swing.JWindow:跟窗体几乎一样,只是不标题栏和重置角标。
b) 通用容器:不能独立存在,需要存放到其它容器中。
javax.swing.JPanel:面板。 默认是FlowLayout布局管理器。
常用方法跟JFrame类似。
4. 布局管理器:java.awt包有基本的,javax.swing有一些增强的。
a) FlowLayout:流布局。对齐方式,水平间距和垂直间距。
b) BorderLayout:边框布局。 北、东、南、西、中。水平间距和垂直间距。
c) GridLayout:网格布局。把窗体分为几行几列。以行为准。
5. GUI的事件处理:
a) 事件三要素:
事件源:发生事件的组件。
事件类型:用户对组件进行的操作。是哪一类型的事件。
事件处理器:对事件作出响应,对事件进行处理的程序。
b) 对组件注册事件监听器(XxxListener)。当该组件发生相应类型的事件时。
JVM会创建一个事件(XxxEvent)对象,调用事件监听器中的处理方法(xxxPerformed),也叫回调方法。
c) 事件类型、事件对象与及对应的事件监听器接口:
动作Action--> ActionEvent --> ActionListener
鼠标Mouse --> MouseEvent --> MouseListener
键盘Key --> KeyEvent --> KeyListener
窗体Window--> WindowEvent --> WindowListener
6. Swing的组件。
a) JLabel
b) JButton
c) JTextField
d) JTextArea ---> JScollPane
e) JPasswordField
f) JRadioButton --> ButtonGroup
g) JCheckButton --> 复选
h) JComboBox 特殊
i) Border --> BorderFactory
j) JOpetionPane --> showMessageDialog();
k) JFileChooser
l) JScollBar
m) JMenuBar, JMenu, JMenuItem, JCheckMeunItem, JRadioMenuItem, JPopupMenu