在Java中,EventListener是一种接口,用于处理特定类型事件的监听器。以下是一些常见的事件监听器类型:
- ActionListener:用于处理按钮点击事件。当用户点击一个按钮(如JButton)时,会触发一个ActionEvent,可以创建一个实现ActionListener接口的类来处理这个事件。
JButton button = new JButton("Click me"); button.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { System.out.println("Button clicked!"); } });
- MouseListener:用于处理鼠标事件,如点击、双击、按下、释放等。可以创建一个实现MouseListener接口的类来处理这些事件。
JButton button = new JButton("Click me"); button.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { System.out.println("Button clicked!"); } });
- KeyListener:用于处理键盘事件,如按键按下、释放、输入等。可以创建一个实现KeyListener接口的类来处理这些事件。
JFrame frame = new JFrame("KeyListener Example"); frame.addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { System.out.println("Key pressed: " + KeyEvent.getKeyText(e.getKeyCode())); } });
- FocusListener:用于处理焦点事件,如组件获得或失去焦点。可以创建一个实现FocusListener接口的类来处理这些事件。
JTextField textField = new JTextField(); textField.addFocusListener(new FocusAdapter() { @Override public void focusGained(FocusEvent e) { System.out.println("TextField gained focus."); } @Override public void focusLost(FocusEvent e) { System.out.println("TextField lost focus."); } });
- ChangeListener:用于处理选项事件,如单选按钮、复选框等组件的状态改变。可以创建一个实现ChangeListener接口的类来处理这些事件。
JCheckBox checkBox = new JCheckBox("Check me"); checkBox.addChangeListener(new ChangeListener() { @Override public void stateChanged(ChangeEvent e) { System.out.println("Checkbox state changed: " + checkBox.isSelected()); } });
- ItemListener:用于处理选项事件,如单选按钮组、复选框组等组件的选择改变。可以创建一个实现ItemListener接口的类来处理这些事件。
JRadioButton radioButton1 = new JRadioButton("Option 1"); JRadioButton radioButton2 = new JRadioButton("Option 2"); ButtonGroup group = new ButtonGroup(); group.add(radioButton1); group.add(radioButton2); radioButton1.addItemListener(new ItemListener() { @Override public void itemStateChanged(ItemEvent e) { System.out.println("Selected radio button: " + e.getItem()); } });
这些只是一些常见的事件监听器类型,实际上Java还提供了许多其他类型的监听器接口,可以根据需要选择合适的监听器来处理不同类型的事件。