1

我正在尝试将特定日期的图标添加到 中JCalendar,但我不能。

我怎样才能做到这一点?

我有这个代码:

final JCalendar calendar = new JCalendar();
    JDayChooser day= calendar.getDayChooser();
    day.setAlwaysFireDayProperty(true);
    day.addPropertyChangeListener(new PropertyChangeListener() {
        public void propertyChange(PropertyChangeEvent e) {
            //put icon here
            ImageIcon icon = new ImageIcon("icon.png");
            JLabel label = new JLabel(icon);
            day.add(label);

        }

编辑:我想要一天的图标。

4

1 回答 1

1

JDayChooser不支持向 a 的按钮添加图标。您必须扩展JDayChooser和修改受保护数组中名为days. 由于面板已经相当拥挤,我不确定效果是否吸引人。

或者,实现IDateEvaluator接口并更改您选择的日期的颜色,如此此处和分发中的其他实现类所示;该课程说明了该方法。com.toedter.calendar.demo.BirthdayEvaluator

public boolean isSpecial(Date date) {
    calendar.setTime(date);
    return calendar.get(Calendar.MONTH) == yourSpecialMonth
    && calendar.get(Calendar.DAY_OF_MONTH) == yourSpecialDay;
}

public Color getSpecialForegroundColor() {
    return yourSpecialForegroundColor;
}

public Color getSpecialBackroundColor() {
    return yourSpecialBackroundColor;
}
于 2015-06-08T01:42:59.373 回答