Contents | Package | Class | Tree | Deprecated | Index | Help Java 1.2 Beta 3
PREV | NEXT SHOW LISTS | HIDE LISTS

Class java.awt.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 void addActionListener(ActionListener l) {
	   actionListener = AWTEventMulticaster.add(actionListener, l);
     }
     public 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
EventListener  a
 
EventListener  b
 
 

Constructor Summary
 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 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 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 WindowListener  add(WindowListener a, WindowListener b)
Adds window-listener-a with window-listener-b and returns the resulting multicast listener.
static ActionListener  add(ActionListener a, ActionListener b)
Adds action-listener-a with action-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 AdjustmentListener  add(AdjustmentListener a, AdjustmentListener b)
Adds adjustment-listener-a with adjustment-listener-b and returns the resulting multicast listener.
static TextListener  add(TextListener a, TextListener b)
 
static InputMethodListener  add(InputMethodListener a, InputMethodListener b)
Adds input-method-listener-a with input-method-listener-b and returns the resulting multicast listener.
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.
EventListener  remove(EventListener oldl)
Removes a listener from this multicaster 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.
static FocusListener  remove(FocusListener l, FocusListener oldl)
Removes the old focus-listener from focus-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 WindowListener  remove(WindowListener l, WindowListener oldl)
Removes the old window-listener from window-listener-l and returns the resulting multicast listener.
static ActionListener  remove(ActionListener l, ActionListener oldl)
Removes the old action-listener from action-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 AdjustmentListener  remove(AdjustmentListener l, AdjustmentListener oldl)
Removes the old adjustment-listener from adjustment-listener-l and returns the resulting multicast listener.
static TextListener  remove(TextListener l, TextListener oldl)
 
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 EventListener  removeInternal(EventListener l, EventListener oldl)
Returns the resulting multicast listener after removing the old listener from listener-l.
static void  save(ObjectOutputStream s, String k, EventListener l)
 
void  saveInternal(ObjectOutputStream s, String k)
 
void  textValueChanged(TextEvent e)
 
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.
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.
Implements:
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.
Implements:
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.
Implements:
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.
Implements:
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.
Implements:
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.
Implements:
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.
Implements:
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.
Implements:
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.
Implements:
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.
Implements:
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.
Implements:
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.
Implements:
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.
Implements:
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.
Implements:
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.
Implements:
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.
Implements:
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.
Implements:
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.
Implements:
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.
Implements:
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.
Implements:
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.
Implements:
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.
Implements:
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.
Implements:
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.
Implements:
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.
Implements:
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.
Implements:
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.
Implements:
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.
Implements:
adjustmentValueChanged in interface AdjustmentListener
Parameters:
e - the adjustment event

textValueChanged

public void textValueChanged(TextEvent e)
Implements:
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.
Implements:
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.
Implements:
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

Contents | Package | Class | Tree | Deprecated | Index | Help Java 1.2 Beta 3
PREV | NEXT SHOW LISTS | HIDE LISTS

Submit a bug or feature
Submit comments/suggestions about new javadoc look.
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road, Palo Alto, California, 94303, U.S.A. All Rights Reserved.