Swing 入門學習(四)

来源:互联网 发布:ipad数据恢复 编辑:程序博客网 时间:2024/05/22 07:48
21:事件处理:
Source                         Event                          Event Listener
---------------------------------------------------------------------------------------------
AbstractButton               ActionEvent                    ActionListener
(JButton,JtoggleButton,      ChangeEvent                    ChangeListener
JCheckBox,JRadioButton       ItemEvent                      ItemListener
---------------------------------------------------------------------------------------------
JTextField                   ActionEvent                    ActionListener
JpasswordField               CaretEvent                     CaretListener
                             DocumentEvent                  DocumentListener
                             UndoableEvent                  UndoableListener
---------------------------------------------------------------------------------------------
JTextArea                    CaretEvent                     CaretListener
                             DocumentEvent                  DocumentListener
                             UndoableEvent                  UndoableListener
---------------------------------------------------------------------------------------------
JTextPane                    CaretEvent                     CaretListener
JEditorPane                  DocumentEvent                  DocumentListener
                             UndoableEvent                  UndoableListener
                             HyperlinkEvent                 HyperlinkListener
---------------------------------------------------------------------------------------------
JComboBox                    ActionEvent                    ActionListener
                             ItemEvent                      ItemListener
---------------------------------------------------------------------------------------------
JList                        ListSelectionEvent             ListSelectionListener
                             ListDataEvent                  ListDataListener
---------------------------------------------------------------------------------------------
JFileChooser                 ActionEvent                    ActionListener
---------------------------------------------------------------------------------------------
JMenuItem                    ActionEvent                    ActionListener
                             ChangeEvent                    ChangeListener
                             ItemEvent                      ItemListener
                             MenuKeyEvent                   enuKeyListener
                             MenuDragMouseEvent             MenuDragMouseListener
---------------------------------------------------------------------------------------------
JMenu                        MenuEvent                      MenuListener
---------------------------------------------------------------------------------------------
JPopupMenu                   PopupMenuEvent                 PopupMenuListener
---------------------------------------------------------------------------------------------
JProgressBar                 ChangeEvent                    ChangeListener
---------------------------------------------------------------------------------------------
JSlider                      ChangeEvent                    ChangeListener
---------------------------------------------------------------------------------------------
JScrollBar                   AdjustmentEvent                AdjustMentListener
---------------------------------------------------------------------------------------------
JTable                       ListSelectionEvent             ListSelectionListener
                             TableModeEvent                 TableModeListener
                             TableColumnModelEvent          TableColumnModeListener
                             CellEditorEvent                CellEditorListener
---------------------------------------------------------------------------------------------
JTabbedPane                  ChangeEvent                    ChangeListener
---------------------------------------------------------------------------------------------
JTree                        TreeSelectionEvent             TreeSelectionListener
                             TreeExpansionEvent             TreeExpansionListener
                             TreeWillExpandEvent            TreeWillExpandListener
                             TreeModeEvent                  TreeModeListener     
---------------------------------------------------------------------------------------------
JTimer                       ActionEvent                    ActionListener
---------------------------------------------------------------------------------------------
        底层事件:
 
--------------------------------------------------------------------------------------------
 
     Event                                                         Listener
  ComponentEvent                                               ComponentListener
  ContainerEvent                                               ConatainerListener
  FocusEvent                                                   FocusListener
  KeyEvent                                                     KeyListener
  MouseEvent                                                   MouseListener
  MouseMotionEvent                                             MouseMotionListener
  WindowEvent                                                  WindowListener
--------------------------------------------------------------------------------------------
ComponentEvent:主要处理组件大小的改变,位置的改变,或是可见与不可见状态(hidden or visible)等。
ContainerListener:主要在处理组件的加入或移出容器。
FocusListener:主要在处理焦点的取得或移开焦点等操作。
MouseListener:主要就是在处理鼠标是否在某个组件上,是否按下鼠标键,是否离开某个组件等操作,主要针对鼠标按键与位置作处理。
MouseMotionListener:主要就是在追踪鼠标的位置,如(X,Y)坐标的位置,主人是针对鼠标坐标与拖曳操作作处理。
WindowListener:主要在处理窗口的所有操作。如处理active窗口或是de-active窗口,处理窗口的最大、最小化,处理窗口的关闭 、打开、退出等。
  以上所述的每种EventListener都是一种interface,里面只有定义这个EventListenerinterface,然后在这个类中,把要处理事件的程序代码写在此interface的方法中。这是处理事件的标准操作,当然还有其他编写模式,如:利用inner class的匿名类方法
,就可以不用在class后面加上implements EventListener的表示法,或是利用Adapter类,就不用一一将interface中的每种方法都实现。
  让我们来了解一下,每一种EventListenerinterface到底提供了哪几种方法要我们实现(Implement)!我们把事件区分成是由Swing或是AWT所引发:
 
       Swing EventListener                                  Method
---------------------------------------------------------------------------------------------
         CaretListener                                 caretUpdate(CaretEvent e)
---------------------------------------------------------------------------------------------
         CellEditorListener                            editingCanceled(ChangeEvent e)
                                                       editingStopped(ChangeEvent e)
---------------------------------------------------------------------------------------------
         ChangeListener                                stateChanged(ChangeEvent e)
---------------------------------------------------------------------------------------------
         DocumentListener                              changedUpdate(DocumentEvent e)
                                                       insertUpdate(DocumentEvent e)
                                                       removeUpdate(DocumentEvent e)
---------------------------------------------------------------------------------------------
         HyperlinkListener                             hyperlinkUpdate(HyperlinkEvent e)
---------------------------------------------------------------------------------------------
         ListDataListener                              contentsChanged(ListdataEvent e)
                                                       intervalAdded(ListDataEvent e)
                                                       intervalRemoved(ListDataEvent e)
---------------------------------------------------------------------------------------------
         ListSelectionListener                         valueChanged(ListSelectionEvent e)
---------------------------------------------------------------------------------------------
         MenuDragMouseListener                                menuDragMouseDragged(MenuDragMouseEvent e)
                                                              menuDragMouseEntered(menuDragMouseEvent e)
                                                              menuDragMouseExited(MenuDragMouseEvent e)
                                                              menuDragMouseReleased(MenuDragMouseEvent e)
---------------------------------------------------------------------------------------------
         MenuKeyListener                               menuKeyPressed(MenuKeyEvent e)
                                                       menuKeyReleased(MenuKeyEvent e)
                                                       menuKeyTyped(MenuKeyEvent e)
---------------------------------------------------------------------------------------------
         MenuListener                                  menuCanceled(MenuEvent e)
                                                       menuDeselected(MenuEvent e)
                                                       menuSelected(MenuEvent e)
---------------------------------------------------------------------------------------------
         PopupMenuListener                     popupMenuCanceled(PopupMenuEvent e)
                                               popupMenuWillBecomeInvisible(PopupMenuEvent e)
                                               popupMenuWillBecomeVisible(PopupMenuEvent e)
---------------------------------------------------------------------------------------------
         TableColumnModelListener              columnAdded(TableColumnModelEvent e)
                                               columnMarginChanged(ChangeEvent e)
                                               columnMoved(TableColumnModelEvent e)
                                               columnRemoved(TableColumnModelEvent e)
                                               columnSelectionChanged(ListSelectionEvent e)
---------------------------------------------------------------------------------------------
         TableModelListener                            tableChanged(TableModelEvent e)
---------------------------------------------------------------------------------------------
         TreeExpansionListener                    treeCollapsed(TreeExpansionEvent event)
                                                  treeExpanded(TreeExpansionEvent event)
---------------------------------------------------------------------------------------------
         TreeModelListener                        treeNodesChanged(TreeModelEvent e)
                                                  treeNodesInserted(TreeModelEvent e)
                                                  treeNodesRemoved(TreeModelEvent e)
                                                  treeStructureChanged(TreeModelEvent e)
---------------------------------------------------------------------------------------------
         TreeSelectionListener                         valueChanged(TreeSelectionEvent e)
--------------------------------------------------------------------------------------------
         TreeWillExpandListener                treeWillCollapse(TreeExpansionEvent event)
                                               treeWillExpand(TreeExpansionEvent event)
---------------------------------------------------------------------------------------------
         UndoableEditListener                  undoableEditHappened(UndoableEditEvent e)
---------------------------------------------------------------------------------------------
                    
 
 
 
 
 
            AWT EventListener                                 Method                       
                 ---------------------------------------------------------------------------------------------
          ActionListener                               actionPerformed(ActionEvent e)
---------------------------------------------------------------------------------------------
          AdjustmentListener                    adjustmentValueChanged(AdjustmentEvent e)
---------------------------------------------------------------------------------------------
          ComponentListener                              componentHidden(ComponentEvent e)
                                                         componentMoved(ComponentEvent e)
                                                         componentResized(ComponentEvent e)
                                                         componentShown(ComponentEvent e)
---------------------------------------------------------------------------------------------
          ContainerListener                            componentAdded(ContainerEvent e)
                                                      componentRemoved(ContainerEvent e)
---------------------------------------------------------------------------------------------
          FocusListener                               focusGained(FocusEvent e)
                                                      focusLost(FocusEvent e)
---------------------------------------------------------------------------------------------
          ItemListener                                itemStateChanged(ItemEvent e)
---------------------------------------------------------------------------------------------
          KeyListener                                 keyPressed(KeyEvent e)
                                                      keyReleased(KeyEvent e)
                                                      keyTyped(KeyEvent e)
---------------------------------------------------------------------------------------------
          MouseListener                               mouseClicked(MouseEvent e)
                                                      mouseEntered(MouseEvent e)
                                                      mouseExited(MouseEvent e)
                                                      mousePressed(MouseEvent e)
                                                      mouseReleased(MouseEvent e)
---------------------------------------------------------------------------------------------
          MouseMotionListener                         mouseDragged(MouseEvent e)
                                                      mouseMoved(MouseEvent e)
---------------------------------------------------------------------------------------------
          WindowListener                              windowActivated(WindowEvent e)
                                                      windowClosed(WindowEvent e)
                                                      windowClosing(WindowEvent e)
                                                      windowDeactivated(WindowEvent e)
                                                      windowDeiconified(WindowEvent e)
                                                      windowIconified(WindowEvent e)
                                                      windowOpened(WindowEvent e)
---------------------------------------------------------------------------------------------
 
常用的Adapter类如下:
              Adapter                                       对应的EventListener
---------------------------------------------------------------------------------------------
         java.awt.event.ComponentAdapter                      ComponentListener
         java.awt.event.ContainerAdapter                      ContainerListener
         java.awt.event.FocusAdapter                          FocusListener
         java.awt.event.KeyAdapter                            KeyListener
         java.awt.event.MouseAdapter                          MouseListener
         java.awt.event.MouseMotionAdapter                    MouseMotionListener
         java.awt.event.WindowAdapter                         WindowListener
---------------------------------------------------------------------------------------------
   java中提供两个方法让你知道到底是哪个组件触发了事件,那就是getSource()getActionCommane();getActionCommand()方法是ActionEvent类所提供,而getSource()方法是EventObject类所提供,但ActionEvent类继承了EventObject类,因此这两个方法ActionEvent都可以使用:
 
原创粉丝点击