Revision 473
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