Revision 473

View differences:

org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.swing/org.gvsig.tools.swing.serv/org.gvsig.tools.swing.serv.field/src/main/java/org/gvsig/tools/swing/serv/field/component/date/JDateCalendarDynFieldComponent.java
17 17
import javax.swing.event.ChangeListener;
18 18

  
19 19
import org.freixas.jcalendar.DateEvent;
20
import org.slf4j.Logger;
21
import org.slf4j.LoggerFactory;
20 22

  
21 23
import org.gvsig.tools.dataTypes.DataTypes;
24
import org.gvsig.tools.dynobject.exception.DynFieldValidateException;
22 25
import org.gvsig.tools.service.ServiceException;
23 26
import org.gvsig.tools.swing.api.dynobject.ValueChangedListener;
24 27
import org.gvsig.tools.swing.api.dynobject.dynfield.JDynFieldComponent;
......
30 33
    implements JDynFieldComponent, FocusListener, ChangeListener,
31 34
    ValueChangedListener, ActionListener {
32 35

  
33
	private static final String BTN_EMPTY_IMG_PATH = "editdelete.png";
36
    private final static Logger LOG = LoggerFactory
37
        .getLogger(JDateCalendarDynFieldComponent.class);
34 38

  
39
    private static final String BTN_EMPTY_IMG_PATH = "editdelete.png";
40

  
35 41
    private JButton jBtnChangeDate;
36 42
    // private JNullSpinner dateField;
37 43
    private DateCalendarPicker datePicker;
......
40 46
    private JNullValueMuttableTextField dateFieldPanel;
41 47
    private Object oldTxt;
42 48

  
43
	public JDateCalendarDynFieldComponent(ValueField valueField)
49
    public JDateCalendarDynFieldComponent(ValueField valueField)
44 50
        throws ServiceException {
45
		super(valueField);
51
        super(valueField);
46 52
        if (getDynField().getType() != DataTypes.DATE) {
47 53
            this.getJBtnChangeDate().setVisible(false);
48 54
        }
49 55
    }
50 56

  
51 57
    public void actionPerformed(ActionEvent e) {
52
        JButton btn = (JButton) e.getSource();
53
        if (btn.getActionCommand().equals("BTN_OK")) {
58
        try {
59
            JButton btn = (JButton) e.getSource();
60
            if (btn.getActionCommand().equals("BTN_OK")) {
61
                if (dlg != null) {
62
                    setValue(datePicker.getSelectedDate());
63
                }
64
            }
54 65
            if (dlg != null) {
55
                setValue(datePicker.getSelectedDate());
66
                dlg.setVisible(false);
56 67
            }
68
            this.fireValueChangedEvent();
69
        } catch (DynFieldValidateException e1) {
70
            // TODO Auto-generated catch block
71
            LOG.warn("Initial value validation error: "
72
                + this.getDynField().getName(), datePicker.getSelectedDate());
57 73
        }
58
        if (dlg != null) {
59
            dlg.setVisible(false);
60
        }
61
        this.fireValueChangedEvent();
62 74
    }
63 75

  
64 76
    @Override
......
100 112

  
101 113
    public void focusLost(FocusEvent e) {
102 114
        Object txt = getValue();
115

  
103 116
        Date date = getDate();
104 117
        if (date == null) {
105
            if (!((txt == null) || (txt.equals("")))) {
106
                setValue(oldTxt);
118
            try {
119
                if (!((txt == null) || (txt.equals("")))) {
120
                    setValue(oldTxt);
121
                }
122
            } catch (DynFieldValidateException e1) {
123
                // TODO Auto-generated catch block
124
                LOG.warn("Initial value validation error: "
125
                    + this.getDynField().getName(), txt);
107 126
            }
108 127
        } else {
109
            setValue(txt);
110
            oldTxt = txt;
128
            try {
129
                setValue(txt);
130
                oldTxt = txt;
131
            } catch (DynFieldValidateException e1) {
132
                // TODO Auto-generated catch block
133
                LOG.warn("Initial value validation error: "
134
                    + this.getDynField().getName(), txt);
135
            }
111 136
        }
112 137
        this.fireValueChangedEvent();
138

  
113 139
    }
114 140

  
115 141
    protected ImageIcon getBtnEmptyImageIcon() {
116
        URL res = this.getClass().getResource(BTN_EMPTY_IMG_PATH);
117
        if (res!=null){
118
            return new ImageIcon(res);            
142
        URL res =
143
            org.gvsig.tools.swing.serv.field.component.date.JDateDynFieldComponent.class
144
                .getResource(BTN_EMPTY_IMG_PATH);
145
        if (res != null) {
146
            return new ImageIcon(res);
119 147
        }
120 148
        return null;
121 149
    }
......
176 204
    @Override
177 205
    protected void initUI() {
178 206
        this.dateFieldPanel =
179
            new JNullValueMuttableTextField(this.getDynField(), this
180
                .getInitialValue(), Locale.getDefault(), getBtnEmptyImageIcon());
207
            new JNullValueMuttableTextField(this.getDynField(),
208
                this.getInitialValue(), Locale.getDefault(),
209
                getBtnEmptyImageIcon());
181 210
        // this.dateFieldPanel.addEmptyButtonActionListener(this);
182 211
        this.dateFieldPanel.add(this.getJBtnChangeDate());
183 212
        this.dateFieldPanel.addValueChangedListener(this);

Also available in: Unified diff