1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170
/* * @(#)ItemEvent.java 1.30 06/04/13 * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */ package java.awt.event; import java.awt.Component; import java.awt.AWTEvent; import java.awt.Event; import java.awt.ItemSelectable; /** * A semantic event which indicates that an item was selected or deselected. * This high-level event is generated by an ItemSelectable object (such as a * List) when an item is selected or deselected by the user. * The event is passed to every <code>ItemListener</code> object which * registered to receive such events using the component's * <code>addItemListener</code> method. * <P> * The object that implements the <code>ItemListener</code> interface gets * this <code>ItemEvent</code> when the event occurs. The listener is * spared the details of processing individual mouse movements and mouse * clicks, and can instead process a "meaningful" (semantic) event like * "item selected" or "item deselected". * * @version 1.30 04/13/06 * @author Carl Quinn * * @see java.awt.ItemSelectable * @see ItemListener * @see <a href="http://java.sun.com/docs/books/tutorial/post1.0/ui/itemlistener.html">Tutorial: Writing an Item Listener</a> * * @since 1.1 */ public class ItemEvent extends AWTEvent { /** * The first number in the range of ids used for item events. */ public static final int ITEM_FIRST = 701; /** * The last number in the range of ids used for item events. */ public static final int ITEM_LAST = 701; /** * This event id indicates that an item's state changed. */ public static final int ITEM_STATE_CHANGED = ITEM_FIRST; //Event.LIST_SELECT /** * This state-change value indicates that an item was selected. */ public static final int SELECTED = 1; /** * This state-change-value indicates that a selected item was deselected. */ public static final int DESELECTED = 2; /** * The item whose selection state has changed. * * @serial * @see #getItem() */ Object item; /** * <code>stateChange</code> indicates whether the <code>item</code> * was selected or deselected. * * @serial * @see #getStateChange() */ int stateChange; /* * JDK 1.1 serialVersionUID */ private static final long serialVersionUID = -608708132447206933L; /** * Constructs an <code>ItemEvent</code> object. * <p>Note that passing in an invalid <code>id</code> results in * unspecified behavior. This method throws an * <code>IllegalArgumentException</code> if <code>source</code> * is <code>null</code>. * * @param source the <code>ItemSelectable</code> object * that originated the event * @param id an integer that identifies the event type * @param item an object -- the item affected by the event * @param stateChange * an integer that indicates whether the item was * selected or deselected * @throws IllegalArgumentException if <code>source</code> is null */ public ItemEvent(ItemSelectable source, int id, Object item, int stateChange) { super(source, id); this.item = item; this.stateChange = stateChange; } /** * Returns the originator of the event. * * @return the ItemSelectable object that originated the event. */ public ItemSelectable getItemSelectable() { return (ItemSelectable)source; } /** * Returns the item affected by the event. * * @return the item (object) that was affected by the event */ public Object getItem() { return item; } /** * Returns the type of state change (selected or deselected). * * @return an integer that indicates whether the item was selected * or deselected * * @see #SELECTED * @see #DESELECTED */ public int getStateChange() { return stateChange; } /** * Returns a parameter string identifying this item event. * This method is useful for event-logging and for debugging. * * @return a string identifying the event and its attributes */ public String paramString() { String typeStr; switch(id) { case ITEM_STATE_CHANGED: typeStr = "ITEM_STATE_CHANGED"; break; default: typeStr = "unknown type"; } String stateStr; switch(stateChange) { case SELECTED: stateStr = "SELECTED"; break; case DESELECTED: stateStr = "DESELECTED"; break; default: stateStr = "unknown type"; } return typeStr + ",item="+item + ",stateChange="+stateStr; } }