我正在使用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启动时,已按下与当前日期匹配的按钮,因此,我无法按此按钮进入我的议程框架。有什么想法可以解决这个问题吗?
答案 0 :(得分:1)
事情是当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
- 如果每天选择一天,则会触发日财产。