Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java jDateChooser-从不使用所选内容更新_Java_Eclipse_Jcalendar - Fatal编程技术网

Java jDateChooser-从不使用所选内容更新

Java jDateChooser-从不使用所选内容更新,java,eclipse,jcalendar,Java,Eclipse,Jcalendar,我正在尝试引入一个日期,以便在SQL中使用它。我将jDateChooser放在屏幕上,并使用它定义一个字符串。因为它开始时没有值(null),所以抛出null指针异常。我使用compdate.setCalendar(Calendar.getInstance())初始化JDateChooser 这将日期设置为今天,这是我拉入字符串时返回的值。下面是代码,我很想解决这个问题。我猜这是因为我不知道什么时候应该启动更新 JDateChooser compdate = new JDateChoos

我正在尝试引入一个日期,以便在SQL中使用它。我将jDateChooser放在屏幕上,并使用它定义一个字符串。因为它开始时没有值(null),所以抛出null指针异常。我使用
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语句提取日期时,它会显示今天的日期。不知道从这里到哪里去。语句在更新之后,但我不知道它处理更新的顺序。我相信它已经解决了,因为我只需要将更新的字符串=移动到另一个事件。现在开始工作了,非常感谢大家!!如果这不是重复的,请在你的问题中加入一个显示你修改过的方法。