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

View differences:

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