jDateChooser - 从不更新选择
jDateChooser - Never updates with selection
我正在尝试输入一个日期,以便我可以在 SQL 中使用它。我将 jDateChooser 放在屏幕上并用它来定义一个字符串。因为它一开始没有值(null),所以它会抛出 Null Pointer Exception。我用 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());
}
}
});
(这个贴在问题里,不属于这个地方,我只是把它拿出来做一个回答。)
我正在尝试输入一个日期,以便我可以在 SQL 中使用它。我将 jDateChooser 放在屏幕上并用它来定义一个字符串。因为它一开始没有值(null),所以它会抛出 Null Pointer Exception。我用 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());
}
}
});
(这个贴在问题里,不属于这个地方,我只是把它拿出来做一个回答。)