Java jDateChooser-从不使用所选内容更新
我正在尝试引入一个日期,以便在SQL中使用它。我将jDateChooser放在屏幕上,并使用它定义一个字符串。因为它开始时没有值(null),所以抛出null指针异常。我使用Java jDateChooser-从不使用所选内容更新,java,eclipse,jcalendar,Java,Eclipse,Jcalendar,我正在尝试引入一个日期,以便在SQL中使用它。我将jDateChooser放在屏幕上,并使用它定义一个字符串。因为它开始时没有值(null),所以抛出null指针异常。我使用compdate.setCalendar(Calendar.getInstance())初始化JDateChooser 这将日期设置为今天,这是我拉入字符串时返回的值。下面是代码,我很想解决这个问题。我猜这是因为我不知道什么时候应该启动更新 JDateChooser compdate = new JDateChoos
compdate.setCalendar(Calendar.getInstance())初始化JDateChooser代码>
这将日期设置为今天,这是我拉入字符串时返回的值。下面是代码,我很想解决这个问题。我猜这是因为我不知道什么时候应该启动更新
JDateChooser compdate = new JDateChooser();
compdate.setDateFormatString("yyyy/MM/dd");
compdate.setBounds(26, 75, 144, 23);
compdate.setCalendar(Calendar.getInstance());
String jcalval = (new java.text.SimpleDateFormat("yyyy/MM/dd")).format(compdate.getDate());
panelReporting.add(compdate);
System.out.println(jcalval);
OP报告说,他按照评论和链接问题中的建议添加了一名听众,从而解决了这个问题:
compdate.getDateEditor().addPropertyChangeListener(new PropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent e) {
if ("date".equals(e.getPropertyName()))
{
System.out.println(e.getPropertyName()
+ ": " + (Date) e.getNewValue());
}
}
});
(这是在问题中发布的,它不属于哪里;我只是把它拿出来作为答案。)你可以添加一个类似的听众。非常感谢Greg。我用它来更新日期,但当我使用jcalval语句提取日期时,它会显示今天的日期。不知道从这里到哪里去。语句在更新之后,但我不知道它处理更新的顺序。我相信它已经解决了,因为我只需要将更新的字符串=移动到另一个事件。现在开始工作了,非常感谢大家!!如果这不是重复的,请在你的问题中加入一个显示你修改过的方法。