观察文本字段时的.setText()方法

时间:2014-07-25 12:08:33

标签: java swing jtextfield

我目前正在开发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));
}
}

1 个答案:

答案 0 :(得分:0)

根据Oracle documentation,您需要使用Observable对象注册观察者,然后调用notifyObservers对象的Observable方法。由于你没有在你的问题中包含代码,我认为你没有这样做。