如何在jCalendar中设置“关闭”所有toogle日按钮?

我正在使用toedter的jCalendar并在使用以下代码单击日期按钮时触发事件:

JDayChooser jdc = jCalendar.getDayChooser(); jdc.addPropertyChangeListener("day", new PropertyChangeListener() { @Override public void propertyChange(PropertyChangeEvent e) { date = jCalendar.getDate(); new AgendaFrame(date, user).setVisible(true); } }); 

问题是,当jCalendar启动时,已按下与当前日期匹配的按钮,因此,我无法按此按钮转到我的议程框架。 有什么想法解决这个问题?

问题是,当jCalendar启动时,已按下与当前日期匹配的按钮,因此,我无法按此按钮转到我的议程框架。 有什么想法解决这个问题?

要解决此问题,您必须使用setAlwaysFireDayProperty(boolean alwaysFire)方法将此属性设置为true

 JCalendar calendar = new JCalendar(); JDayChooser dayChooser = calendar.getDayChooser(); dayChooser.setAlwaysFireDayProperty(true); // here is the key dayChooser.addPropertyChangeListener("day", ...); 

这样,如果您按某个按钮(例如,今天),无论按钮是否已被按下,都将触发属性事件。

 public void setAlwaysFireDayProperty(boolean alwaysFire) 

这是JDateChooser所必需的。

参数:

alwaysFire – 如果每天选择一天,则会触发日财产。