Revision 202 org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.swing/org.gvsig.tools.swing.spi/src/main/java/org/gvsig/tools/swing/spi/AbstractJDynFieldComponent.java
AbstractJDynFieldComponent.java | ||
---|---|---|
29 | 29 |
import javax.swing.BorderFactory; |
30 | 30 |
import javax.swing.Box; |
31 | 31 |
import javax.swing.BoxLayout; |
32 |
import javax.swing.JButton; |
|
32 | 33 |
import javax.swing.JPanel; |
33 | 34 |
|
34 | 35 |
import org.gvsig.tools.ToolsLocator; |
... | ... | |
100 | 101 |
marginLeft, marginRight); |
101 | 102 |
} |
102 | 103 |
|
104 |
public void setValue(Object value){ |
|
105 |
if (value==null) |
|
106 |
setNullValue(); |
|
107 |
else |
|
108 |
setNonNullValue(value); |
|
109 |
this.fireValueChangedEvent(); |
|
110 |
} |
|
111 |
|
|
112 |
/** |
|
113 |
* @param value |
|
114 |
*/ |
|
115 |
protected abstract void setNonNullValue(Object value); |
|
116 |
|
|
117 |
/** |
|
118 |
* |
|
119 |
*/ |
|
120 |
protected abstract void setNullValue(); |
|
121 |
|
|
103 | 122 |
/* |
104 | 123 |
* (non-Javadoc) |
105 | 124 |
* |
... | ... | |
127 | 146 |
return pane; |
128 | 147 |
} |
129 | 148 |
|
149 |
|
|
150 |
protected JButton createButton(String text) { |
|
151 |
return ToolsSwingLocator.getUsabilitySwingManager().createJToolButton( |
|
152 |
this.translate(text)); |
|
153 |
} |
|
154 |
|
|
130 | 155 |
/* |
131 | 156 |
* (non-Javadoc) |
132 | 157 |
* |
... | ... | |
231 | 256 |
* the value for the field |
232 | 257 |
*/ |
233 | 258 |
public void setFieldValue(Object value) { |
234 |
fieldValue.setValue(value); |
|
259 |
if (validate(value)) |
|
260 |
fieldValue.setValue(value); |
|
235 | 261 |
} |
236 | 262 |
|
237 | 263 |
/** |
... | ... | |
248 | 274 |
*/ |
249 | 275 |
private boolean validate(Object value) { |
250 | 276 |
try { |
251 |
this.getDynField().validate(this.getValue());
|
|
277 |
this.getDynField().validate(value);
|
|
252 | 278 |
return true; |
253 | 279 |
} catch (DynFieldValidateException e) { |
254 | 280 |
return false; |
Also available in: Unified diff