【发布时间】:2017-11-30 22:55:44
【问题描述】:
我正在开发一个使用交互式日历的项目。我打算让用户单击 JCalendar 上的日期,如果那天发生了事件,则会显示一个弹出窗口,告诉用户发生了什么事件。如果当天没有事件,则会显示一个弹出窗口,告诉用户当天没有事件。我如何将这种交互注册到 JCalendar,并将这种交互变成屏幕上的对话框?
【问题讨论】:
我正在开发一个使用交互式日历的项目。我打算让用户单击 JCalendar 上的日期,如果那天发生了事件,则会显示一个弹出窗口,告诉用户发生了什么事件。如果当天没有事件,则会显示一个弹出窗口,告诉用户当天没有事件。我如何将这种交互注册到 JCalendar,并将这种交互变成屏幕上的对话框?
【问题讨论】:
将PropertyChangeListener 添加到您的JCalendar 以获取"calendar"。对照您的事件检查生成的Date,并调出JOptionPane 以显示结果。
JCalendar jc = new JCalendar(c);
jc.addPropertyChangeListener("calendar", new PropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent e) {
System.out.println(e.getPropertyName() + ": "
+ ((GregorianCalendar)e.getNewValue()).getTime());
}
});
【讨论】: