37 |
|
|
38 |
package javax.swing; |
package javax.swing; |
39 |
|
|
40 |
// Imports |
import java.io.Serializable; |
41 |
import java.io.*; |
import java.util.EventListener; |
42 |
import java.util.*; |
import javax.swing.event.ChangeEvent; |
43 |
import javax.swing.event.*; |
import javax.swing.event.ChangeListener; |
44 |
|
import javax.swing.event.EventListenerList; |
45 |
|
|
46 |
/** |
/** |
47 |
* DefaultSingleSelectionModel |
* DefaultSingleSelectionModel |
48 |
* @author Andrew Selkirk |
* @author Andrew Selkirk |
49 |
* @version 1.0 |
* @version 1.0 |
50 |
*/ |
*/ |
51 |
public class DefaultSingleSelectionModel implements |
public class DefaultSingleSelectionModel |
52 |
SingleSelectionModel, Serializable |
implements SingleSelectionModel, Serializable |
53 |
{ |
{ |
54 |
static final long serialVersionUID = 3676229404753786004L; |
static final long serialVersionUID = 3676229404753786004L; |
55 |
|
|
56 |
//------------------------------------------------------------- |
/** |
57 |
// Variables -------------------------------------------------- |
* changeEvent |
58 |
//------------------------------------------------------------- |
*/ |
59 |
|
protected transient ChangeEvent changeEvent = new ChangeEvent (this); |
60 |
/** |
|
61 |
* changeEvent |
/** |
62 |
*/ |
* listenerList |
63 |
protected transient ChangeEvent changeEvent = new ChangeEvent(this); |
*/ |
64 |
|
protected EventListenerList listenerList= new EventListenerList (); |
65 |
/** |
|
66 |
* listenerList |
/** |
67 |
*/ |
* index |
68 |
protected EventListenerList listenerList= new EventListenerList(); |
*/ |
69 |
|
private int index = -1; |
70 |
/** |
|
71 |
* index |
/** |
72 |
*/ |
* Constructor DefaultSingleSelectionModel |
73 |
private int index = -1; |
*/ |
74 |
|
public DefaultSingleSelectionModel () |
75 |
|
{ |
76 |
//------------------------------------------------------------- |
} |
77 |
// Initialization --------------------------------------------- |
|
78 |
//------------------------------------------------------------- |
/** |
79 |
|
* getSelectedIndex |
80 |
/** |
* @returns int |
81 |
* Constructor DefaultSingleSelectionModel |
*/ |
82 |
*/ |
public int getSelectedIndex () |
83 |
public DefaultSingleSelectionModel() { |
{ |
84 |
// TODO |
return index; |
85 |
} // DefaultSingleSelectionModel() |
} |
86 |
|
|
87 |
|
/** |
88 |
//------------------------------------------------------------- |
* setSelectedIndex |
89 |
// Methods ---------------------------------------------------- |
* @param index TODO |
90 |
//------------------------------------------------------------- |
*/ |
91 |
|
public void setSelectedIndex (int index) |
92 |
/** |
{ |
93 |
* getSelectedIndex |
// Set Data |
94 |
* @returns int |
this.index = index; |
95 |
*/ |
|
96 |
public int getSelectedIndex() { |
// Notify Listeners |
97 |
return index; |
fireStateChanged (); |
98 |
} // getSelectedIndex() |
} |
99 |
|
|
100 |
/** |
/** |
101 |
* setSelectedIndex |
* clearSelection |
102 |
* @param index TODO |
*/ |
103 |
*/ |
public void clearSelection () |
104 |
public void setSelectedIndex(int index) { |
{ |
105 |
|
// Set Data |
106 |
// Set Data |
index = -1; |
107 |
this.index = index; |
|
108 |
|
// Notify Listeners |
109 |
// Notify Listeners |
fireStateChanged (); |
110 |
fireStateChanged(); |
} |
111 |
|
|
112 |
} // setSelectedIndex() |
/** |
113 |
|
* isSelected |
114 |
/** |
* @returns boolean |
115 |
* clearSelection |
*/ |
116 |
*/ |
public boolean isSelected () |
117 |
public void clearSelection() { |
{ |
118 |
|
return (index == -1); |
119 |
// Set Data |
} |
120 |
index = -1; |
|
121 |
|
/** |
122 |
// Notify Listeners |
* addChangeListener |
123 |
fireStateChanged(); |
* @param listener TODO |
124 |
|
*/ |
125 |
} // clearSelection() |
public void addChangeListener (ChangeListener listener) |
126 |
|
{ |
127 |
/** |
listenerList.add (ChangeListener.class, listener); |
128 |
* isSelected |
} |
129 |
* @returns boolean |
|
130 |
*/ |
/** |
131 |
public boolean isSelected() { |
* removeChangeListener |
132 |
return (index == -1); |
* @param listener TODO |
133 |
} // isSelected() |
*/ |
134 |
|
public void removeChangeListener (ChangeListener listener) |
135 |
/** |
{ |
136 |
* addChangeListener |
listenerList.remove (ChangeListener.class, listener); |
137 |
* @param listener TODO |
} |
138 |
*/ |
|
139 |
public void addChangeListener(ChangeListener listener) { |
/** |
140 |
listenerList.add(ChangeListener.class, listener); |
* fireStateChanged |
141 |
} // addChangeListener() |
*/ |
142 |
|
protected void fireStateChanged () |
143 |
/** |
{ |
144 |
* removeChangeListener |
// Variables |
145 |
* @param listener TODO |
ChangeListener listener; |
146 |
*/ |
ChangeListener[] listeners; |
147 |
public void removeChangeListener(ChangeListener listener) { |
int index; |
148 |
listenerList.remove(ChangeListener.class, listener); |
|
149 |
} // removeChangeListener() |
// Get Listeners |
150 |
|
listeners = getChangeListeners (); |
151 |
/** |
|
152 |
* fireStateChanged |
// Process Listeners |
153 |
*/ |
for (index = 0; index < listeners.length; index++) |
154 |
protected void fireStateChanged() { |
{ |
155 |
|
listener = listeners [index]; |
156 |
// Variables |
listener.stateChanged (changeEvent); |
157 |
ChangeListener listener; |
} |
158 |
EventListener[] listeners; |
} |
159 |
int index; |
|
160 |
|
/** |
161 |
// Get Listeners |
* getListeners |
162 |
listeners = listenerList.getListeners(ChangeListener.class); |
* @param listenerClass TODO |
163 |
|
* @returns EventListener[] |
164 |
// Process Listeners |
*/ |
165 |
for (index = 0; index < listeners.length; index++) { |
public EventListener[] getListeners (Class listenerClass) |
166 |
listener = (ChangeListener) listeners[index]; |
{ |
167 |
listener.stateChanged(changeEvent); |
return listenerList.getListeners (listenerClass); |
168 |
} // for |
} |
169 |
|
|
170 |
} // fireStateChanged() |
/** |
171 |
|
* getChangeListeners |
172 |
/** |
*/ |
173 |
* getListeners |
public ChangeListener[] getChangeListeners () |
174 |
* @param listenerClass TODO |
{ |
175 |
* @returns EventListener[] |
return (ChangeListener[]) getListeners (ChangeListener.class); |
176 |
*/ |
} |
177 |
public EventListener[] getListeners(Class listenerClass) { |
} |
|
return listenerList.getListeners(listenerClass); |
|
|
} // getListeners() |
|
|
|
|
|
|
|
|
} // DefaultSingleSelectionModel |
|