Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 可用于JXMonthView';什么是可遍历按钮?_Java_Swing_Listener_Swingx_Jdatechooser - Fatal编程技术网

Java 可用于JXMonthView';什么是可遍历按钮?

Java 可用于JXMonthView';什么是可遍历按钮?,java,swing,listener,swingx,jdatechooser,Java,Swing,Listener,Swingx,Jdatechooser,使用JXMonthView时,可以将其设置为“可遍历”,这意味着左箭头和右箭头显示在标题中月份名称的旁边。它们允许用户选择不同的月份进行查看,有效地遍历日历年 我想在这些箭头上放置一个事件侦听器,以便每次单击它们时,都会刷新标记的日期。目前,只有当用户单击JXMonthView中的日期时才会发生这种情况,这会更改当前选择,并触发刷新。有人知道如何访问这些单独的遍历按钮并为其添加侦听器吗?您可以收听firstDisplayedDay属性更改 根据源代码,BasicMonthViewUI.nextM

使用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");
        }
    }
});

完美的这正是我所需要的。我不知道有必要对
JXMonthView
的源代码进行筛选,并将其跟踪到“firstDisplayedDay”属性。你太棒了,@Aqua@Sturm我很高兴这对你有帮助!:)