Register several listeners for one event. : Event Queue « Event « Java






Register several listeners for one event.

  

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JSpinner;

public class MultipleListeners {
  JLabel statusbar = new JLabel("0");
  JSpinner spinner = new JSpinner();
  static int count = 0;

  class ButtonListener1 implements ActionListener {
    public void actionPerformed(ActionEvent e) {
      Integer val = (Integer) spinner.getValue();
      spinner.setValue(++val);
    }
  }

  class ButtonListener2 implements ActionListener {
    public void actionPerformed(ActionEvent e) {
      statusbar.setText(Integer.toString(++count));
    }
  }

  public MultipleListeners() {
    JPanel panel = new JPanel();
    JButton add = new JButton("+");
    add.addActionListener(new ButtonListener1());
    add.addActionListener(new ButtonListener2());

    panel.add(add);
    panel.add(spinner);
    JFrame f = new JFrame();
    f.add(panel);
    f.add(statusbar, BorderLayout.SOUTH);

    f.setSize(300, 200);
    f.setLocationRelativeTo(null);
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    f.setVisible(true);
  }
  public static void main(String[] args) {
    new MultipleListeners();
  }
}

   
    
  








Related examples in the same category

1.Use the Event queue to retrieve eventUse the Event queue to retrieve event
2.Event object has information about an event, that has happened.
3.ActionEvent.getActionCommand()
4.Adding an InputMap to a Component
5.Event source and listener
6.Multiple sources: A listener can be plugged into several sources.
7.Using an inner ActionListener class.
8.void java.awt.Toolkit.addAWTEventListener(AWTEventListener listener, long eventMask)
9.int java.awt.event.WindowEvent.WINDOW_OPENED
10.JComponent.WHEN_IN_FOCUSED_WINDOW
11.Register action
12.Using EventQueue.invokeLater to start a Swing application