Java .setText()方法在文本字段中

Java .setText()方法在文本字段中,java,swing,jtextfield,Java,Swing,Jtextfield,我目前正在开发一个Eclipse来构建一个JavaSwing应用程序。我在将数据库数据显示到文本字段时遇到问题。观察文本字段与日期选择器一起使用,供用户选择所需的日期,然后将其作为字符串保存到数据库中,例如2014/07/03。将此日期记录添加到数据库后,我希望能够在用户更新日期更改之前显示它。我尝试使用.setText()方法,但数据未显示 final ObservingTextField txtDutyDate = new ObservingTextField(); txtDutyD

我目前正在开发一个Eclipse来构建一个JavaSwing应用程序。我在将数据库数据显示到文本字段时遇到问题。观察文本字段与日期选择器一起使用,供用户选择所需的日期,然后将其作为字符串保存到数据库中,例如2014/07/03。将此日期记录添加到数据库后,我希望能够在用户更新日期更改之前显示它。我尝试使用.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));
}
}

根据,您需要向
Observable
对象注册观察者,然后调用
Observable
对象的
notifyobservators
方法。由于您没有在问题中包含代码,我假设您没有这样做。

什么是
ObservingTextField
?找不到任何javadoc。就我所能看到的而言,它像一张桌子或一张桌子,否则,
.setColums()
做什么?在任何情况下,使用
setColums()
方法的对象上的
setText()
听起来都很奇怪……我的错,不知道
JTextField
有一个。但是在javadoc中,它说它使布局无效,所以你必须这样做。@Narmer您好,我试图重新验证它,但当我使用.setText()方法时,文本框仍然是空的:(我忘了包括上面的ObservingTextField代码,我的错!好吧,那只是沧海一粟。正如@DavidPostill所说的,更新你的答案。一个完整的例子被看到了。是的,我没有!但是我该如何调用NotifyObservators方法呢?例如,
setChanged()
notifyObservators()
都是必需的。