Frames | No Frames |
1: /* ListSelectionEvent.java -- 2: Copyright (C) 2002, 2006, Free Software Foundation, Inc. 3: 4: This file is part of GNU Classpath. 5: 6: GNU Classpath is free software; you can redistribute it and/or modify 7: it under the terms of the GNU General Public License as published by 8: the Free Software Foundation; either version 2, or (at your option) 9: any later version. 10: 11: GNU Classpath is distributed in the hope that it will be useful, but 12: WITHOUT ANY WARRANTY; without even the implied warranty of 13: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14: General Public License for more details. 15: 16: You should have received a copy of the GNU General Public License 17: along with GNU Classpath; see the file COPYING. If not, write to the 18: Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 19: 02110-1301 USA. 20: 21: Linking this library statically or dynamically with other modules is 22: making a combined work based on this library. Thus, the terms and 23: conditions of the GNU General Public License cover the whole 24: combination. 25: 26: As a special exception, the copyright holders of this library give you 27: permission to link this library with independent modules to produce an 28: executable, regardless of the license terms of these independent 29: modules, and to copy and distribute the resulting executable under 30: terms of your choice, provided that you also meet, for each linked 31: independent module, the terms and conditions of the license of that 32: module. An independent module is a module which is not derived from 33: or based on this library. If you modify this library, you may extend 34: this exception to your version of the library, but you are not 35: obligated to do so. If you do not wish to do so, delete this 36: exception statement from your version. */ 37: 38: package javax.swing.event; 39: 40: import java.util.EventObject; 41: 42: import javax.swing.ListSelectionModel; 43: 44: /** 45: * An event that indicates a change to a list selection, including the source 46: * of the change (a {@link ListSelectionModel}) and the range of items in the 47: * list that have potentially changed their selection status. 48: * 49: * @author Andrew Selkirk 50: * @author Ronald Veldema 51: */ 52: public class ListSelectionEvent extends EventObject 53: { 54: 55: /** 56: * The index of the first list item in the range of items that has 57: * potentially had its selection status modified. 58: */ 59: private int firstIndex = 0; 60: 61: /** 62: * The index of the last list item in the range of items that has 63: * potentially had its selection status modified. 64: */ 65: private int lastIndex = 0; 66: 67: /** A flag that indicates that this event is one in a series of events. */ 68: private boolean isAdjusting = false; 69: 70: /** 71: * Creates a new <code>ListSelectionEvent</code>. 72: * 73: * @param source the event source (<code>null</code> not permitted). 74: * @param firstIndex the first index. 75: * @param lastIndex the last index. 76: * @param isAdjusting a flag indicating that this event is one in a series 77: * of events updating a selection. 78: * 79: * @throws IllegalArgumentException if <code>source</code> is 80: * <code>null</code>. 81: */ 82: public ListSelectionEvent(Object source, int firstIndex, 83: int lastIndex, boolean isAdjusting) 84: { 85: super(source); 86: this.firstIndex = firstIndex; 87: this.lastIndex = lastIndex; 88: this.isAdjusting = isAdjusting; 89: } 90: 91: /** 92: * Returns the first index. 93: * 94: * @return The first index. 95: */ 96: public int getFirstIndex() 97: { 98: return firstIndex; 99: } 100: 101: /** 102: * Returns the last index. 103: * 104: * @return The last index. 105: */ 106: public int getLastIndex() 107: { 108: return lastIndex; 109: } 110: 111: /** 112: * Returns the flag that indicates that this event is one in a series of 113: * events updating a selection. 114: * 115: * @return A boolean. 116: */ 117: public boolean getValueIsAdjusting() 118: { 119: return isAdjusting; 120: } 121: 122: /** 123: * Returns a string representation of the event, typically used for debugging 124: * purposes. 125: * 126: * @return A string representation of the event. 127: */ 128: public String toString() 129: { 130: return this.getClass().toString() + "[ source=" + source.toString() 131: + " firstIndex= " + firstIndex + " lastIndex= " + lastIndex 132: + " isAdjusting= " + isAdjusting + " ]"; 133: } 134: 135: }