JavaTM 2 Platform
Standard Edition

java.awt
Class AWTEventMulticaster

java.lang.Object
  |
  +--java.awt.AWTEventMulticaster

public class AWTEventMulticaster
extends Object
implements ComponentListener, ContainerListener, FocusListener, KeyListener, MouseListener, MouseMotionListener, WindowListener, ActionListener, ItemListener, AdjustmentListener, TextListener, InputMethodListener

A class which implements efficient and thread-safe multi-cast event dispatching for the AWT events defined in the java.awt.event package. This class will manage an immutable structure consisting of a chain of event listeners and will dispatch events to those listeners. Because the structure is immutable, it is safe to use this API to add/remove listeners during the process of an event dispatch operation. An example of how this class could be used to implement a new component which fires "action" events:


 public myComponent extends Component {
     ActionListener actionListener = null;

     public synchronized void addActionListener(ActionListener l) {
	   actionListener = AWTEventMulticaster.add(actionListener, l);
     }
     public synchronized void removeActionListener(ActionListener l) {
  	   actionListener = AWTEventMulticaster.remove(actionListener, l);
     }
     public void processEvent(AWTEvent e) {
         // when event occurs which causes "action" semantic
         if (actionListener != null) {
             actionListener.actionPerformed(new ActionEvent());
         }         
 }
 


Field Summary
protected  EventListener a
           
protected  EventListener b
           
 
Constructor Summary
protected AWTEventMulticaster(EventListener a, EventListener b)
          Creates an event multicaster instance which chains listener-a with listener-b.
 
Method Summary
 void actionPerformed(ActionEvent e)
          Handles the actionPerformed event by invoking the actionPerformed methods on listener-a and listener-b.
static ActionListener add(ActionListener a, ActionListener b)
          Adds action-listener-a with action-listener-b and returns the resulting multicast listener.
static AdjustmentListener add(AdjustmentListener a, AdjustmentListener b)
          Adds adjustment-listener-a with adjustment-listener-b and returns the resulting multicast listener.
static ComponentListener add(ComponentListener a, ComponentListener b)
          Adds component-listener-a with component-listener-b and returns the resulting multicast listener.
static ContainerListener add(ContainerListener a, ContainerListener b)
          Adds container-listener-a with container-listener-b and returns the resulting multicast listener.
static FocusListener add(FocusListener a, FocusListener b)
          Adds focus-listener-a with focus-listener-b and returns the resulting multicast listener.
static InputMethodListener add(InputMethodListener a, InputMethodListener b)
          Adds input-method-listener-a with input-method-listener-b and returns the resulting multicast listener.
static ItemListener add(ItemListener a, ItemListener b)
          Adds item-listener-a with item-listener-b and returns the resulting multicast listener.
static KeyListener add(KeyListener a, KeyListener b)
          Adds key-listener-a with key-listener-b and returns the resulting multicast listener.
static MouseListener add(MouseListener a, MouseListener b)
          Adds mouse-listener-a with mouse-listener-b and returns the resulting multicast listener.
static MouseMotionListener add(MouseMotionListener a, MouseMotionListener b)
          Adds mouse-motion-listener-a with mouse-motion-listener-b and returns the resulting multicast listener.
static TextListener add(TextListener a, TextListener b)
           
static WindowListener add(WindowListener a, WindowListener b)
          Adds window-listener-a with window-listener-b and returns the resulting multicast listener.
protected static EventListener addInternal(EventListener a, EventListener b)
          Returns the resulting multicast listener from adding listener-a and listener-b together.
 void adjustmentValueChanged(AdjustmentEvent e)
          Handles the adjustmentValueChanged event by invoking the adjustmentValueChanged methods on listener-a and listener-b.
 void caretPositionChanged(InputMethodEvent e)
          Handles the caretPositionChanged event by invoking the caretPositionChanged methods on listener-a and listener-b.
 void componentAdded(ContainerEvent e)
          Handles the componentAdded container event by invoking the componentAdded methods on listener-a and listener-b.
 void componentHidden(ComponentEvent e)
          Handles the componentHidden event by invoking the componentHidden methods on listener-a and listener-b.
 void componentMoved(ComponentEvent e)
          Handles the componentMoved event by invoking the componentMoved methods on listener-a and listener-b.
 void componentRemoved(ContainerEvent e)
          Handles the componentRemoved container event by invoking the componentRemoved methods on listener-a and listener-b.
 void componentResized(ComponentEvent e)
          Handles the componentResized event by invoking the componentResized methods on listener-a and listener-b.
 void componentShown(ComponentEvent e)
          Handles the componentShown event by invoking the componentShown methods on listener-a and listener-b.
 void focusGained(FocusEvent e)
          Handles the focusGained event by invoking the focusGained methods on listener-a and listener-b.
 void focusLost(FocusEvent e)
          Handles the focusLost event by invoking the focusLost methods on listener-a and listener-b.
 void inputMethodTextChanged(InputMethodEvent e)
          Handles the inputMethodTextChanged event by invoking the inputMethodTextChanged methods on listener-a and listener-b.
 void itemStateChanged(ItemEvent e)
          Handles the itemStateChanged event by invoking the itemStateChanged methods on listener-a and listener-b.
 void keyPressed(KeyEvent e)
          Handles the keyPressed event by invoking the keyPressed methods on listener-a and listener-b.
 void keyReleased(KeyEvent e)
          Handles the keyReleased event by invoking the keyReleased methods on listener-a and listener-b.
 void keyTyped(KeyEvent e)
          Handles the keyTyped event by invoking the keyTyped methods on listener-a and listener-b.
 void mouseClicked(MouseEvent e)
          Handles the mouseClicked event by invoking the mouseClicked methods on listener-a and listener-b.
 void mouseDragged(MouseEvent e)
          Handles the mouseDragged event by invoking the mouseDragged methods on listener-a and listener-b.
 void mouseEntered(MouseEvent e)
          Handles the mouseEntered event by invoking the mouseEntered methods on listener-a and listener-b.
 void mouseExited(MouseEvent e)
          Handles the mouseExited event by invoking the mouseExited methods on listener-a and listener-b.
 void mouseMoved(MouseEvent e)
          Handles the mouseMoved event by invoking the mouseMoved methods on listener-a and listener-b.
 void mousePressed(MouseEvent e)
          Handles the mousePressed event by invoking the mousePressed methods on listener-a and listener-b.
 void mouseReleased(MouseEvent e)
          Handles the mouseReleased event by invoking the mouseReleased methods on listener-a and listener-b.
static ActionListener remove(ActionListener l, ActionListener oldl)
          Removes the old action-listener from action-listener-l and returns the resulting multicast listener.
static AdjustmentListener remove(AdjustmentListener l, AdjustmentListener oldl)
          Removes the old adjustment-listener from adjustment-listener-l and returns the resulting multicast listener.
static ComponentListener remove(ComponentListener l, ComponentListener oldl)
          Removes the old component-listener from component-listener-l and returns the resulting multicast listener.
static ContainerListener remove(ContainerListener l, ContainerListener oldl)
          Removes the old container-listener from container-listener-l and returns the resulting multicast listener.
protected  EventListener remove(EventListener oldl)
          Removes a listener from this multicaster and returns the resulting multicast listener.
static FocusListener remove(FocusListener l, FocusListener oldl)
          Removes the old focus-listener from focus-listener-l and returns the resulting multicast listener.
static InputMethodListener remove(InputMethodListener l, InputMethodListener oldl)
          Removes the old input-method-listener from input-method-listener-l and returns the resulting multicast listener.
static ItemListener remove(ItemListener l, ItemListener oldl)
          Removes the old item-listener from item-listener-l and returns the resulting multicast listener.
static KeyListener remove(KeyListener l, KeyListener oldl)
          Removes the old key-listener from key-listener-l and returns the resulting multicast listener.
static MouseListener remove(MouseListener l, MouseListener oldl)
          Removes the old mouse-listener from mouse-listener-l and returns the resulting multicast listener.
static MouseMotionListener remove(MouseMotionListener l, MouseMotionListener oldl)
          Removes the old mouse-motion-listener from mouse-motion-listener-l and returns the resulting multicast listener.
static TextListener remove(TextListener l, TextListener oldl)
           
static WindowListener remove(WindowListener l, WindowListener oldl)
          Removes the old window-listener from window-listener-l and returns the resulting multicast listener.
protected static EventListener removeInternal(EventListener l, EventListener oldl)
          Returns the resulting multicast listener after removing the old listener from listener-l.
protected static void save(ObjectOutputStream s, String k, EventListener l)
           
protected  void saveInternal(ObjectOutputStream s, String k)
           
 void textValueChanged(TextEvent e)
          Invoked when the value of the text has changed.
 void windowActivated(WindowEvent e)
          Handles the windowActivated event by invoking the windowActivated methods on listener-a and listener-b.
 void windowClosed(WindowEvent e)
          Handles the windowClosed event by invoking the windowClosed methods on listener-a and listener-b.
 void windowClosing(WindowEvent e)
          Handles the windowClosing event by invoking the windowClosing methods on listener-a and listener-b.
 void windowDeactivated(WindowEvent e)
          Handles the windowDeactivated event by invoking the windowDeactivated methods on listener-a and listener-b.
 void windowDeiconified(WindowEvent e)
          Handles the windowDeiconfied event by invoking the windowDeiconified methods on listener-a and listener-b.
 void windowIconified(WindowEvent e)
          Handles the windowIconified event by invoking the windowIconified methods on listener-a and listener-b.
 void windowOpened(WindowEvent e)
          Handles the windowOpened event by invoking the windowOpened methods on listener-a and listener-b.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

a

protected final EventListener a

b

protected final EventListener b
Constructor Detail

AWTEventMulticaster

protected AWTEventMulticaster(EventListener a,
                              EventListener b)
Creates an event multicaster instance which chains listener-a with listener-b. Input parameters a and b should not be null, though implementations may vary in choosing whether or not to throw NullPointerException in that case.
Parameters:
a - listener-a
b - listener-b
Method Detail

remove

protected EventListener remove(EventListener oldl)
Removes a listener from this multicaster and returns the resulting multicast listener.
Parameters:
oldl - the listener to be removed

componentResized

public void componentResized(ComponentEvent e)
Handles the componentResized event by invoking the componentResized methods on listener-a and listener-b.
Specified by:
componentResized in interface ComponentListener
Parameters:
e - the component event

componentMoved

public void componentMoved(ComponentEvent e)
Handles the componentMoved event by invoking the componentMoved methods on listener-a and listener-b.
Specified by:
componentMoved in interface ComponentListener
Parameters:
e - the component event

componentShown

public void componentShown(ComponentEvent e)
Handles the componentShown event by invoking the componentShown methods on listener-a and listener-b.
Specified by:
componentShown in interface ComponentListener
Parameters:
e - the component event

componentHidden

public void componentHidden(ComponentEvent e)
Handles the componentHidden event by invoking the componentHidden methods on listener-a and listener-b.
Specified by:
componentHidden in interface ComponentListener
Parameters:
e - the component event

componentAdded

public void componentAdded(ContainerEvent e)
Handles the componentAdded container event by invoking the componentAdded methods on listener-a and listener-b.
Specified by:
componentAdded in interface ContainerListener
Parameters:
e - the component event

componentRemoved

public void componentRemoved(ContainerEvent e)
Handles the componentRemoved container event by invoking the componentRemoved methods on listener-a and listener-b.
Specified by:
componentRemoved in interface ContainerListener
Parameters:
e - the component event

focusGained

public void focusGained(FocusEvent e)
Handles the focusGained event by invoking the focusGained methods on listener-a and listener-b.
Specified by:
focusGained in interface FocusListener
Parameters:
e - the focus event

focusLost

public void focusLost(FocusEvent e)
Handles the focusLost event by invoking the focusLost methods on listener-a and listener-b.
Specified by:
focusLost in interface FocusListener
Parameters:
e - the focus event

keyTyped

public void keyTyped(KeyEvent e)
Handles the keyTyped event by invoking the keyTyped methods on listener-a and listener-b.
Specified by:
keyTyped in interface KeyListener
Parameters:
e - the key event

keyPressed

public void keyPressed(KeyEvent e)
Handles the keyPressed event by invoking the keyPressed methods on listener-a and listener-b.
Specified by:
keyPressed in interface KeyListener
Parameters:
e - the key event

keyReleased

public void keyReleased(KeyEvent e)
Handles the keyReleased event by invoking the keyReleased methods on listener-a and listener-b.
Specified by:
keyReleased in interface KeyListener
Parameters:
e - the key event

mouseClicked

public void mouseClicked(MouseEvent e)
Handles the mouseClicked event by invoking the mouseClicked methods on listener-a and listener-b.
Specified by:
mouseClicked in interface MouseListener
Parameters:
e - the mouse event

mousePressed

public void mousePressed(MouseEvent e)
Handles the mousePressed event by invoking the mousePressed methods on listener-a and listener-b.
Specified by:
mousePressed in interface MouseListener
Parameters:
e - the mouse event

mouseReleased

public void mouseReleased(MouseEvent e)
Handles the mouseReleased event by invoking the mouseReleased methods on listener-a and listener-b.
Specified by:
mouseReleased in interface MouseListener
Parameters:
e - the mouse event

mouseEntered

public void mouseEntered(MouseEvent e)
Handles the mouseEntered event by invoking the mouseEntered methods on listener-a and listener-b.
Specified by:
mouseEntered in interface MouseListener
Parameters:
e - the mouse event

mouseExited

public void mouseExited(MouseEvent e)
Handles the mouseExited event by invoking the mouseExited methods on listener-a and listener-b.
Specified by:
mouseExited in interface MouseListener
Parameters:
e - the mouse event

mouseDragged

public void mouseDragged(MouseEvent e)
Handles the mouseDragged event by invoking the mouseDragged methods on listener-a and listener-b.
Specified by:
mouseDragged in interface MouseMotionListener
Parameters:
e - the mouse event

mouseMoved

public void mouseMoved(MouseEvent e)
Handles the mouseMoved event by invoking the mouseMoved methods on listener-a and listener-b.
Specified by:
mouseMoved in interface MouseMotionListener
Parameters:
e - the mouse event

windowOpened

public void windowOpened(WindowEvent e)
Handles the windowOpened event by invoking the windowOpened methods on listener-a and listener-b.
Specified by:
windowOpened in interface WindowListener
Parameters:
e - the window event

windowClosing

public void windowClosing(WindowEvent e)
Handles the windowClosing event by invoking the windowClosing methods on listener-a and listener-b.
Specified by:
windowClosing in interface WindowListener
Parameters:
e - the window event

windowClosed

public void windowClosed(WindowEvent e)
Handles the windowClosed event by invoking the windowClosed methods on listener-a and listener-b.
Specified by:
windowClosed in interface WindowListener
Parameters:
e - the window event

windowIconified

public void windowIconified(WindowEvent e)
Handles the windowIconified event by invoking the windowIconified methods on listener-a and listener-b.
Specified by:
windowIconified in interface WindowListener
Parameters:
e - the window event

windowDeiconified

public void windowDeiconified(WindowEvent e)
Handles the windowDeiconfied event by invoking the windowDeiconified methods on listener-a and listener-b.
Specified by:
windowDeiconified in interface WindowListener
Parameters:
e - the window event

windowActivated

public void windowActivated(WindowEvent e)
Handles the windowActivated event by invoking the windowActivated methods on listener-a and listener-b.
Specified by:
windowActivated in interface WindowListener
Parameters:
e - the window event

windowDeactivated

public void windowDeactivated(WindowEvent e)
Handles the windowDeactivated event by invoking the windowDeactivated methods on listener-a and listener-b.
Specified by:
windowDeactivated in interface WindowListener
Parameters:
e - the window event

actionPerformed

public void actionPerformed(ActionEvent e)
Handles the actionPerformed event by invoking the actionPerformed methods on listener-a and listener-b.
Specified by:
actionPerformed in interface ActionListener
Parameters:
e - the action event

itemStateChanged

public void itemStateChanged(ItemEvent e)
Handles the itemStateChanged event by invoking the itemStateChanged methods on listener-a and listener-b.
Specified by:
itemStateChanged in interface ItemListener
Parameters:
e - the item event

adjustmentValueChanged

public void adjustmentValueChanged(AdjustmentEvent e)
Handles the adjustmentValueChanged event by invoking the adjustmentValueChanged methods on listener-a and listener-b.
Specified by:
adjustmentValueChanged in interface AdjustmentListener
Parameters:
e - the adjustment event

textValueChanged

public void textValueChanged(TextEvent e)
Description copied from interface: TextListener
Invoked when the value of the text has changed. The code written for this method performs the operations that need to occur when text changes.
Specified by:
textValueChanged in interface TextListener

inputMethodTextChanged

public void inputMethodTextChanged(InputMethodEvent e)
Handles the inputMethodTextChanged event by invoking the inputMethodTextChanged methods on listener-a and listener-b.
Specified by:
inputMethodTextChanged in interface InputMethodListener
Parameters:
e - the item event

caretPositionChanged

public void caretPositionChanged(InputMethodEvent e)
Handles the caretPositionChanged event by invoking the caretPositionChanged methods on listener-a and listener-b.
Specified by:
caretPositionChanged in interface InputMethodListener
Parameters:
e - the item event

add

public static ComponentListener add(ComponentListener a,
                                    ComponentListener b)
Adds component-listener-a with component-listener-b and returns the resulting multicast listener.
Parameters:
a - component-listener-a
b - component-listener-b

add

public static ContainerListener add(ContainerListener a,
                                    ContainerListener b)
Adds container-listener-a with container-listener-b and returns the resulting multicast listener.
Parameters:
a - container-listener-a
b - container-listener-b

add

public static FocusListener add(FocusListener a,
                                FocusListener b)
Adds focus-listener-a with focus-listener-b and returns the resulting multicast listener.
Parameters:
a - focus-listener-a
b - focus-listener-b

add

public static KeyListener add(KeyListener a,
                              KeyListener b)
Adds key-listener-a with key-listener-b and returns the resulting multicast listener.
Parameters:
a - key-listener-a
b - key-listener-b

add

public static MouseListener add(MouseListener a,
                                MouseListener b)
Adds mouse-listener-a with mouse-listener-b and returns the resulting multicast listener.
Parameters:
a - mouse-listener-a
b - mouse-listener-b

add

public static MouseMotionListener add(MouseMotionListener a,
                                      MouseMotionListener b)
Adds mouse-motion-listener-a with mouse-motion-listener-b and returns the resulting multicast listener.
Parameters:
a - mouse-motion-listener-a
b - mouse-motion-listener-b

add

public static WindowListener add(WindowListener a,
                                 WindowListener b)
Adds window-listener-a with window-listener-b and returns the resulting multicast listener.
Parameters:
a - window-listener-a
b - window-listener-b

add

public static ActionListener add(ActionListener a,
                                 ActionListener b)
Adds action-listener-a with action-listener-b and returns the resulting multicast listener.
Parameters:
a - action-listener-a
b - action-listener-b

add

public static ItemListener add(ItemListener a,
                               ItemListener b)
Adds item-listener-a with item-listener-b and returns the resulting multicast listener.
Parameters:
a - item-listener-a
b - item-listener-b

add

public static AdjustmentListener add(AdjustmentListener a,
                                     AdjustmentListener b)
Adds adjustment-listener-a with adjustment-listener-b and returns the resulting multicast listener.
Parameters:
a - adjustment-listener-a
b - adjustment-listener-b

add

public static TextListener add(TextListener a,
                               TextListener b)

add

public static InputMethodListener add(InputMethodListener a,
                                      InputMethodListener b)
Adds input-method-listener-a with input-method-listener-b and returns the resulting multicast listener.
Parameters:
a - input-method-listener-a
b - input-method-listener-b

remove

public static ComponentListener remove(ComponentListener l,
                                       ComponentListener oldl)
Removes the old component-listener from component-listener-l and returns the resulting multicast listener.
Parameters:
l - component-listener-l
oldl - the component-listener being removed

remove

public static ContainerListener remove(ContainerListener l,
                                       ContainerListener oldl)
Removes the old container-listener from container-listener-l and returns the resulting multicast listener.
Parameters:
l - container-listener-l
oldl - the container-listener being removed

remove

public static FocusListener remove(FocusListener l,
                                   FocusListener oldl)
Removes the old focus-listener from focus-listener-l and returns the resulting multicast listener.
Parameters:
l - focus-listener-l
oldl - the focus-listener being removed

remove

public static KeyListener remove(KeyListener l,
                                 KeyListener oldl)
Removes the old key-listener from key-listener-l and returns the resulting multicast listener.
Parameters:
l - key-listener-l
oldl - the key-listener being removed

remove

public static MouseListener remove(MouseListener l,
                                   MouseListener oldl)
Removes the old mouse-listener from mouse-listener-l and returns the resulting multicast listener.
Parameters:
l - mouse-listener-l
oldl - the mouse-listener being removed

remove

public static MouseMotionListener remove(MouseMotionListener l,
                                         MouseMotionListener oldl)
Removes the old mouse-motion-listener from mouse-motion-listener-l and returns the resulting multicast listener.
Parameters:
l - mouse-motion-listener-l
oldl - the mouse-motion-listener being removed

remove

public static WindowListener remove(WindowListener l,
                                    WindowListener oldl)
Removes the old window-listener from window-listener-l and returns the resulting multicast listener.
Parameters:
l - window-listener-l
oldl - the window-listener being removed

remove

public static ActionListener remove(ActionListener l,
                                    ActionListener oldl)
Removes the old action-listener from action-listener-l and returns the resulting multicast listener.
Parameters:
l - action-listener-l
oldl - the action-listener being removed

remove

public static ItemListener remove(ItemListener l,
                                  ItemListener oldl)
Removes the old item-listener from item-listener-l and returns the resulting multicast listener.
Parameters:
l - item-listener-l
oldl - the item-listener being removed

remove

public static AdjustmentListener remove(AdjustmentListener l,
                                        AdjustmentListener oldl)
Removes the old adjustment-listener from adjustment-listener-l and returns the resulting multicast listener.
Parameters:
l - adjustment-listener-l
oldl - the adjustment-listener being removed

remove

public static TextListener remove(TextListener l,
                                  TextListener oldl)

remove

public static InputMethodListener remove(InputMethodListener l,
                                         InputMethodListener oldl)
Removes the old input-method-listener from input-method-listener-l and returns the resulting multicast listener.
Parameters:
l - input-method-listener-l
oldl - the input-method-listener being removed

addInternal

protected static EventListener addInternal(EventListener a,
                                           EventListener b)
Returns the resulting multicast listener from adding listener-a and listener-b together. If listener-a is null, it returns listener-b; If listener-b is null, it returns listener-a If neither are null, then it creates and returns a new AWTEventMulticaster instance which chains a with b.
Parameters:
a - event listener-a
b - event listener-b

removeInternal

protected static EventListener removeInternal(EventListener l,
                                              EventListener oldl)
Returns the resulting multicast listener after removing the old listener from listener-l. If listener-l equals the old listener OR listener-l is null, returns null. Else if listener-l is an instance of AWTEventMulticaster, then it removes the old listener from it. Else, returns listener l.
Parameters:
l - the listener being removed from
oldl - the listener being removed

saveInternal

protected void saveInternal(ObjectOutputStream s,
                            String k)
                     throws IOException

save

protected static void save(ObjectOutputStream s,
                           String k,
                           EventListener l)
                    throws IOException

JavaTM 2 Platform
Standard Edition

Submit a bug or feature
Java, Java 2D, and JDBC are a trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-1999 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.