ActionListener 接口,重寫 actionPerformed(ActionEvent e)btn.setActionCommand("press")btn.addActionListener(listener)e.getActionCommand() 區分業務邏輯// 匿名內部類寫法(更常用)
btn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if ("press".equals(e.getActionCommand())) {
System.out.println("點擊了");
}
}
});
public class MyMouseListener implements MouseListener {
public void mouseClicked(MouseEvent e) { ... }
public void mousePressed(MouseEvent e) { ... }
public void mouseReleased(MouseEvent e) { ... }
public void mouseEntered(MouseEvent e) { ... }
public void mouseExited(MouseEvent e) { ... }
}
// 註冊:component.addMouseListener(new MyMouseListener());
MouseAdapter 實現了 MouseListener、MouseWheelListener、MouseMotionListener,所有方法默認空實現,僅重寫關心的方法:
public class MyMouseAdapter extends MouseAdapter {
public void mousePressed(MouseEvent e) { ... } // 只處理按下
public void mouseDragged(MouseEvent e) { ... } // 需同時實現 MouseMotionListener
}
MouseListener/MouseAdapterMouseMotionListener/MouseWheelListener 或直接繼承 MouseAdapterMouseAdapter 靈活性最高