我目前正在开发Eclipse来构建一个java swing应用程序。我在将数据库数据显示到观察文本字段时遇到问题。观察文本字段与日期选择器一起使用以供用户选择他们想要的日期,然后将其作为字符串保存到数据库中,例如, 2014年7月3日。将此日期记录添加到数据库后,我希望能够在用户更新日期更改之前显示它。我尝试使用.setText()方法,但我的数据没有显示。
final ObservingTextField txtDutyDate = new ObservingTextField();
txtDutyDate.setColumns(10);
txtDutyDate.setBounds(283, 427, 108, 22);
add(txtDutyDate);
txtDutyDate.setText(d.getDutyDate());
P.S ObservingTextField是一个自我声明的类,因此我可以在日历中选择日期后将日期放在文本框中
public class ObservingTextField extends JTextField implements Observer {
/**
*
*/
private static final long serialVersionUID = 1L;
public void update(Observable o, Object arg) {
Calendar calendar = (Calendar) arg;
DatePicker dp = (DatePicker) o;
// System.out.println("picked=" + dp.formatDate(calendar));
setText(dp.formatDate(calendar));
}
}
答案 0 :(得分:0)
根据Oracle documentation,您需要使用Observable
对象注册观察者,然后调用notifyObservers
对象的Observable
方法。由于你没有在你的问题中包含代码,我认为你没有这样做。