Mega Code Archive

 
Categories / Java by API / Java Awt
 

AWTEventMulticaster

// This example is from the book _Java AWT Reference_ by John Zukowski. // Written by John Zukowski.  Copyright (c) 1997 O'Reilly & Associates. // You may study, use, modify, and distribute this example for any purpose. // This example is provided WITHOUT WARRANTY either expressed or import java.awt.AWTEvent; import java.awt.AWTEventMulticaster; import java.awt.Component; import java.awt.Frame; import java.awt.ItemSelectable; import java.awt.SystemColor; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import java.awt.event.MouseEvent; class ItemEventComponent extends Component implements ItemSelectable {   boolean selected;   int i = 0;   ItemListener itemListener = null;   ItemEventComponent() {     enableEvents(AWTEvent.MOUSE_EVENT_MASK);   }   public Object[] getSelectedObjects() {     Object o[] = new Object[1];     o[0] = new Integer(i);     return o;   }   public void addItemListener(ItemListener l) {     itemListener = AWTEventMulticaster.add(itemListener, l);   }   public void removeItemListener(ItemListener l) {     itemListener = AWTEventMulticaster.remove(itemListener, l);   }   public void processEvent(AWTEvent e) {     if (e.getID() == MouseEvent.MOUSE_PRESSED) {       if (itemListener != null) {         selected = !selected;         i++;         itemListener.itemStateChanged(new ItemEvent(this, ItemEvent.ITEM_STATE_CHANGED,             getSelectedObjects(), (selected ? ItemEvent.SELECTED : ItemEvent.DESELECTED)));       }     }   } } public class MainClass extends Frame implements ItemListener {   MainClass() {     super("Listening In");     ItemEventComponent c = new ItemEventComponent();     add(c, "Center");     c.addItemListener(this);     c.setBackground(SystemColor.control);     setSize(200, 200);   }   public void itemStateChanged(ItemEvent e) {     Object[] o = e.getItemSelectable().getSelectedObjects();     Integer i = (Integer) o[0];     System.out.println(i);   }   public static void main(String args[]) {     MainClass f = new MainClass();     f.show();   } }