0

使用 JXMonthView,可以将其设置为“Traversable”,这意味着在标题中的月份名称旁边会出现左右箭头。它们允许用户选择不同的月份来查看,有效地遍历日历年。

我想在这些箭头上放置一个事件监听器,以便每次单击它们时,都会刷新标记的日期。目前,这仅在用户单击 JXMonthView 中的日期时发生,这会更改当前选择,从而触发刷新。有谁知道如何访问这些单独的遍历按钮并向它们添加监听器?

4

1 回答 1

2

您可以收听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");
        }
    }
});
于 2014-08-06T17:01:20.157 回答