第6章 常用组件GUI设计
第 12 页
AbstractButton (JButton,JToggleButton, JCheckBox,JRadioButton) JFileChooser JTextField JPasswordField
JTextArea
DocumentEvent UndoableEvent CaretEvent
13.7.15
陕西理工学院 计算机系 《面向对象程序设计--Java》
第7页
第6章
常用组件GUI设计
javax.swing.JTextField javax.swing.JTextArea javax.swing.JList javax.swing.JComboBox javax.swing.AbstractButton javax.swing.JButton javax.swing.JToggleButton javax.swing.JCheckBox javax.swing. JRadioButton
ListSelectionEvent ListDataEvent ActionEvent ChangeEvent ListSelectionListener ListDataListener ActionListener ChangeListener ItemListener MenuKeyListener MenuDragMouseListener MenuListener PopupMenuListener ChangeListener ChangeListener AdjustmentListener ListSelectionListener TableModeListener TableColumnModelListener CellEditorListener ChangeListener TreeSelectionListener TreeExpansionListener TreeWillExpandListener TreeModeListener
理方式。监听者对象要收到事件发生的通知,必须在程序代码
中向产生事件的对象注册,当事件产生时,产生事件的对象就 会主动通知监听者对象,监听者对象就可以根据产生该事件的 对象来决定处理事件的方法。
13.7.15
陕西理工学院 计算机系 《面向对象程序设计--Java》
第 10 页
第6章
常用组件GUI设计
第 14 页
员
方
法
CaretListener CellEditorListener ChangeListener DocumentListener HyperlinkListener ListDataListener ListSelectionListener
M enuDragM ouseListener
2
Swing组件的事件及监听者 不同事件源上发生的事件种类不同,不同的事件由不同的
监听者处理。表6.2列出了Swing中各种组件可激发的事件及事 件监听者之间的对应关系。表6.3列出了Swing提供的各事件监
听者与各事件类成员方法之间的关系。请读者务必注意:对应
不同事件需要不同的事件监听者,而每个事件监听者都有相应 的成员方法,处理事件的程序代码要写在对应的成员方法体中。
13.7.15
陕西理工学院 计算机系 《面向对象程序设计--Java》
第2页
第6章
常用组件GUI设计
Java的图形界面
AWT与Swing: AWT: Java最初的图形界面
Swing: 增加了组件,更加美观,但也更加占
用系统资源
13.7.15
陕西理工学院 计算机系 《面向对象程序设计--Java》
图6.0 图形用户界面中常用的组件
13.7.15
陕西理工学院 计算机系 《面向对象程序设计--Java》
第6页
第6章
常用组件GUI设计
常用组件的继承关系如下:
ng.Object
ponent java.awt.Container javax.swing.JComponent javax.swing.JLabel
JTable
JTabbedPane
JTree
13.7.15
JTimer
ActionEvent ActionListener 陕西理工学院 计算机系 《面向对象程序设计--Java》 第 13 页
第6章
常用组件GUI设计
表6.3
Swing提供的各监听者与各事件类成员方法之间的关系
事件监听者 成 caretUpdate(CaretEvent e) editingCanceled(ChangeEvent e) editingStopped(ChangeEvent e) stateChanged(ChangeEvent e) changedUpdate(DocumentEvent e) insertUpdate(DocumentEvent e) removeUpdate(DocumentEvent e) hyperlinkUpdate(HyperlinkEvent e) contentsChanged(ListDataEvent e) intervalAdded(ListDataEvent e) intervalRemoved(ListDataEvent e) valueChanged(ListSelectionEve e) nt menuDragM ouseDragged(M enuDragM ouseEvent e) menuDragM ouseEntered(M enuDragM ouseEvent e) menuDragM ouseExited(M enuDragM ouseEvent e) menuDragM ouseReleased(M enuDragM ouseEvent e)
13.7.15
陕西理工学院 计算机系 《面向对象程序设计--Java》
第6章
常用组件GUI设计
表6.3
Swing提供的各监听者与各事件类成员方法之间的关系
menuKeyPressed(M enuKeyEvent e) menuKeyReleased(M enuKeyEvent e) menuKeyTyped(M enuKeyEvent e) menuCanceled(M enuEvent e) menuDeselected(M enuEvent e) menuSelected(M enuEvent e) popupM enuCanceled(PopupM enuEvent e) popupM enuWillBecomelavisible(PopupM enuEvent e) popupM enuWillB ecomeVisible(PopupM enuEvent e) columnAdded(TableColumnM odelEvent e) columnM arginChanged(ChangeEvent e) columnM oved(TableColumnM odelEvent e) columnRemoved(TableColumnModelEvent e) columnSelectionChanged(ListSelectionEvent e) tableChanged(TableM odelEvent e)
13.7.15
陕西理工学院 计算机系 《面向对象程序设计--Java》
第 11 页
表6.2
组
Swing中组件、事件及事件监听者之间的对应关系
件 可激发的事件 (Event) ActionEvent ChangeEvent ItemEvent ActionEvent ActionEvent CaretEvent DocumentEvent UndoableEvent CaretEvent 事件监听者 (EventListener) ActionListener ChangeListener ItemListener ActionListener ActionListener CaretListener DocumentListener UndoableListener CaretListener DocumentListener UndoableListener CaretListener DocumentListener UndoableListener HyperlinkListener ActionListener ItemListener
JMenuItem
ItemEvent MenuKeyEvent MenuDragMouseEvent
JMenu JPopupMenu JProgressBar JSlipMenuEvent ChangeEvent ChangeEvent AdjustmentEvent ListSelectionEvent TableModeEvent TableColumnModelEvent CellEditorEvent ChangeEvent TreeSelectionEvent TreeExpansionEvent TreeWillExpandEvent TreeModeEvent
13.7.15
陕西理工学院 计算机系 《面向对象程序设计--Java》
第5页
第6章
常用组件GUI设计
用户界面上经常用到的组件对象有Button(按钮)、 Checkbox(复选框)、Choice(组合框)、Label(标签)、List(列表)、 Scrollbar(滚动条)、TextComponent(TextArea(文本区域)、 TextField(文本框))和Panel(面板)。
第6章
常用组件GUI设计
第6章
6.1 6.2 6.3 习
常用组件GUI设计
事件响应原理 用户界面对象 java.swing包 题
13.7.15
陕西理工学院 计算机系 《面向对象程序设计--Java》