我正在使用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");
仍然没有输出
基本上,您不希望侦听MouseEvent
s,因为这些可能会以多种方式改变组件的状态,其中大多数您都不想知道。
您应该监视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
或用户从选择器中选择日期时触发,通常,您将无法告诉