首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >刷新JCalendar中的RangeEvaluator

刷新JCalendar中的RangeEvaluator
EN

Stack Overflow用户
提问于 2016-04-17 02:43:19
回答 1查看 203关注 0票数 0

我正在尝试创建日历以显示和修改日程安排。为此,我必须更改该日历中某些日期的颜色。我关注了examples,它创建了一个RangeEvaluator,并设法突出显示了日期。问题是,如果我单击该日期(例如,为了将其从繁忙修改为空闲,我需要这样做),它的颜色会恢复正常。下面是我的代码:

代码语言:javascript
复制
RangeEvaluator evaluator = new RangeEvaluator();
//get dates from DB:
    Vector<Date> vd=SA.getCalendrier(transport);
    evaluator.setVd(vd);
    calendar.getDayChooser().addDateEvaluator(evaluator);
EN

回答 1

Stack Overflow用户

发布于 2016-06-20 00:43:59

here所示,您的IDateEvaluator可能会返回特定的前景和背景颜色来突出显示日期。请注意,当您单击突出显示的日期按钮时,前景颜色将保持设置。相反,正如前面提到的here,背景颜色属于所选择的外观。我会依赖前景色和工具提示;我会认为背景色突出显示是可选的。

作为一种解决办法,如here所示,您可以在PropertyChangeListener中设置绑定属性来重新配置按钮,但所选按钮仍将根据外观呈现。选择未突出显示的按钮以查看效果。

代码语言:javascript
复制
JCalendar jc = new JCalendar();
jc.getDayChooser().addDateEvaluator(evaluator);
jc.setDate(Calendar.getInstance().getTime());
jc.addPropertyChangeListener("calendar", new PropertyChangeListener() {
    @Override
    public void propertyChange(PropertyChangeEvent e) {
        jc.setDate(Calendar.getInstance().getTime());
        …
    }
});

更广泛地说,请注意JCalendar是一个日期选择器,而不是一个日程表。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36668202

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档