使用 JXMonthView,可以将其设置为"可遍历",这意味着左箭头和右箭头出现在标题中的月份名称旁边。它们允许用户选择要查看的其他月份,从而有效地遍历日历年。
我想在这些箭头上放置一个事件侦听器,以便每次单击它们时,都会刷新标记的日期。目前,仅当用户单击 JXMonthView 中的日期时,才会发生这种情况,这会更改当前选择,从而触发刷新。有谁知道如何访问这些单独的遍历按钮并向它们添加侦听器?
您可以收听firstDisplayedDay
属性更改。
根据源代码,BasicMonthViewUI.nextMonth()
或previousMonth()
调用monthView.setFirstDisplayedDay
进而调用firePropertyChange("firstDisplayedDay", oldDate, getFirstDisplayedDay());
。
例如:
monthView.addPropertyChangeListener(new PropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent e) {
if ("firstDisplayedDay".equals(e.getPropertyName())) {
System.out.println("updated");
}
}
});