Revision 25788
branches/v2_0_0_prep/libraries/libUIComponent/src/org/gvsig/gui/beans/swing/JIncrementalNumberField.java | ||
---|---|---|
61 | 61 |
import javax.swing.JPanel; |
62 | 62 |
import javax.swing.SwingConstants; |
63 | 63 |
|
64 |
import org.gvsig.gui.beans.Messages; |
|
65 | 64 |
import org.gvsig.gui.beans.swing.ValidatingTextField.Cleaner; |
66 | 65 |
import org.gvsig.gui.beans.swing.ValidatingTextField.Validator; |
67 | 66 |
|
... | ... | |
81 | 80 |
|
82 | 81 |
private ActionListener propage = new ActionListener() { |
83 | 82 |
public void actionPerformed(ActionEvent e) { |
84 |
if (!isEnabled()) return; |
|
83 |
if (!isEnabled()) { |
|
84 |
return; |
|
85 |
} |
|
85 | 86 |
if (acceptsDoubles) { |
86 | 87 |
double v = getDouble(); |
87 |
if (v>maxValue) |
|
88 |
if (v>maxValue) {
|
|
88 | 89 |
v = maxValue; |
89 |
if (v<minValue) |
|
90 |
} |
|
91 |
if (v<minValue) { |
|
90 | 92 |
v = minValue; |
93 |
} |
|
91 | 94 |
setDouble(v); |
92 | 95 |
} else { |
93 | 96 |
int v = getInteger(); |
94 |
if (v>maxValue) |
|
97 |
if (v>maxValue) {
|
|
95 | 98 |
v = (int) maxValue; |
96 |
if (v<minValue) |
|
99 |
} |
|
100 |
if (v<minValue) { |
|
97 | 101 |
v = (int) minValue; |
102 |
} |
|
98 | 103 |
setInteger(v); |
99 | 104 |
} |
100 | 105 |
fireActionPerformed(e); |
... | ... | |
103 | 108 |
|
104 | 109 |
private ActionListener accum = new ActionListener() { |
105 | 110 |
public void actionPerformed(ActionEvent e) { |
106 |
if (!isEnabled()) return; |
|
111 |
if (!isEnabled()) { |
|
112 |
return; |
|
113 |
} |
|
107 | 114 |
String command = e.getActionCommand(); |
108 | 115 |
if ("UP".equals(command)) { |
109 | 116 |
if (acceptsDoubles) { |
110 | 117 |
double v = getDouble() + step; |
111 |
if (v>maxValue) |
|
118 |
if (v>maxValue) {
|
|
112 | 119 |
v = maxValue; |
120 |
} |
|
113 | 121 |
setDouble(v); |
114 | 122 |
} else { |
115 | 123 |
int v = getInteger() + (int) Math.round(step); |
116 |
if (v>maxValue) |
|
124 |
if (v>maxValue) {
|
|
117 | 125 |
v = (int) maxValue; |
126 |
} |
|
118 | 127 |
setInteger(v); |
119 | 128 |
} |
120 | 129 |
} else if ("DOWN".equals(command)) { |
121 | 130 |
if (acceptsDoubles) { |
122 | 131 |
double v = getDouble() - step; |
123 |
if (v<minValue) |
|
132 |
if (v<minValue) {
|
|
124 | 133 |
v = minValue; |
134 |
} |
|
125 | 135 |
setDouble(v); |
126 | 136 |
|
127 | 137 |
} else { |
128 | 138 |
int v = getInteger() - (int) Math.round(step); |
129 |
if (v<minValue) |
|
139 |
if (v<minValue) {
|
|
130 | 140 |
v = (int) minValue; |
141 |
} |
|
131 | 142 |
setInteger(v); |
132 | 143 |
} |
133 | 144 |
} |
... | ... | |
164 | 175 |
delay /= 2; |
165 | 176 |
time = currTime; |
166 | 177 |
} |
167 |
} else time = System.currentTimeMillis(); |
|
178 |
} else { |
|
179 |
time = System.currentTimeMillis(); |
|
180 |
} |
|
168 | 181 |
try { |
169 | 182 |
Thread.sleep(delay); |
170 | 183 |
} catch (InterruptedException e1) { |
... | ... | |
230 | 243 |
|
231 | 244 |
public JIncrementalNumberField(String text, int columns, Validator validator, Cleaner cleaner, double minValue, double maxValue, double step) { |
232 | 245 |
super(); |
233 |
if (text == null) text = ""; |
|
246 |
if (text == null) { |
|
247 |
text = ""; |
|
248 |
} |
|
234 | 249 |
|
235 | 250 |
this.minValue = minValue; |
236 | 251 |
this.maxValue = maxValue; |
... | ... | |
327 | 342 |
} |
328 | 343 |
|
329 | 344 |
public double getDouble() { |
330 |
if (!acceptsDoubles) |
|
331 |
throw new Error(Messages.getText( |
|
332 |
"cannot_get_double_value_from_an_integer_number_field_use_getInteger()_instead")); |
|
345 |
// if (!acceptsDoubles) { |
|
346 |
// throw new Error(Messages.getText( |
|
347 |
// "cannot_get_double_value_from_an_integer_number_field_use_getInteger()_instead")); |
|
348 |
// } |
|
333 | 349 |
return vtf.getDouble(); |
334 | 350 |
} |
335 | 351 |
|
336 | 352 |
public void setDouble(double v) { |
337 |
if (!acceptsDoubles) |
|
338 |
throw new Error(Messages.getText( |
|
339 |
"cannot_set_a_double_value_from_an_integer_number_field_use_setInteger(int)_instead")); |
|
353 |
// if (!acceptsDoubles) |
|
354 |
// throw new Error(Messages.getText( |
|
355 |
// "cannot_set_a_double_value_from_an_integer_number_field_use_setInteger(int)_instead")); |
|
356 |
// |
|
340 | 357 |
vtf.setText(String.valueOf(v)); |
341 | 358 |
} |
342 | 359 |
|
... | ... | |
357 | 374 |
private void fireActionPerformed() { |
358 | 375 |
ActionEvent evt = new ActionEvent(this, 0, null); |
359 | 376 |
for (int i = 0; i < listeners.size(); i++) { |
360 |
((ActionListener) listeners.get(i)).actionPerformed(evt);
|
|
377 |
(listeners.get(i)).actionPerformed(evt); |
|
361 | 378 |
} |
362 | 379 |
} |
363 | 380 |
|
364 | 381 |
private void fireActionPerformed(ActionEvent e) { |
365 | 382 |
e.setSource(this); |
366 | 383 |
for (int i = 0; i < listeners.size(); i++) { |
367 |
((ActionListener) listeners.get(i)).actionPerformed(e);
|
|
384 |
(listeners.get(i)).actionPerformed(e); |
|
368 | 385 |
} |
369 | 386 |
} |
370 | 387 |
|
Also available in: Unified diff