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
1. GUI:图形用户界面。它是Java提供的一种图形用户界面编程方式。