简体   繁体   English

Toedter从JDateChooser获取日期

[英]Toedter Get Date From JDateChooser

I am using toedter JDateChooser, and I am having problems retrieving the date picked from it. 我正在使用Toedter JDateChooser,并且在检索从中选取的日期时遇到问题。

jDateChooser2.setDateFormatString("dd-MMMM-yy");
jDateChooser2.addMouseListener(new java.awt.event.MouseAdapter() {
    public void mouseClicked(java.awt.event.MouseEvent evt) {
        jDateChooser2MouseClicked(evt);
    }
});

private void jDateChooser2MouseClicked(java.awt.event.MouseEvent evt) {                                           
    Date dateFromDateChooser = jDateChooser2.getDate();
    System.out.println(dateFromDateChooser);
}    

How can I retrieve the date? 如何获取日期? Is there a better way to do it? 有更好的方法吗? I think the listener is not being fired or triggered. 我认为听众没有被解雇或触发。 i tried replacing the listener with: 我尝试用以下方式替换监听器:

    System.out.println("triggered");

Still there are no output. 仍然没有输出。

Basically, you don't want to listener for MouseEvent s, as these could be changing the state of the component in a number of ways, most of which you don't want to know about. 基本上,您不想监听MouseEvent ,因为它们可能通过多种方式改变组件的状态,而您大多数都不希望知道。

You should be monitoring the date property change event, for example... 您应该监视date属性更改事件,例如...

JDateChooser dateChooser = new JDateChooser();
dateChooser.addPropertyChangeListener("date", new PropertyChangeListener() {
    @Override
    public void propertyChange(PropertyChangeEvent evt) {
        Date date = (Date)evt.getNewValue();
        System.out.println("Date changed " + date);
    }
});

Just beware, this could be triggered in response to calling setDate or by the user selecting a date from the picker, generally, you won't be able to tell 请注意,这可能是响应调用setDate或由用户从选择器中选择一个日期而触发的,通常,您将无法分辨

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM