我正在使用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);
} 如何检索日期?有没有更好的方法呢?我认为监听者没有被解雇或触发。我尝试将监听程序替换为:
System.out.println("triggered");仍然没有输出。
发布于 2014-07-21 11:49:20
基本上,您不希望侦听MouseEvent,因为它们可能会以多种方式更改组件的状态,其中大多数您并不想知道。
您应该监视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);
}
});请注意,这可能会在调用setDate或用户从选择器中选择日期时触发,通常情况下,您无法分辨
https://stackoverflow.com/questions/24857396
复制相似问题