栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用JCalendar在特定日期的背景色

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用JCalendar在特定日期的背景色

使用JCalendar API的一种解决方案是创建您自己的实例,

IDateevaluator
并检查日期中是否包含“特殊”内容。

1.转换

首先,我建议将日期(

yyyy-MM-dd
)放入列表并将其转换为
Date
对象。例如:

List<String> mysqlDates = Arrays.asList("2019-02-14", "2019-03-06"); // Assume you've got this info somehowList<Date> specialDates = convertToDates(mysqlDates);

借助以下功能:

public static List<Date> convertToDates(List<String> dateStrings) throws ParseException {    List<Date> dates = new ArrayList<>();    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");    for (String dateString : dateStrings) {        dates.add(df.parse(dateString));    }    return dates;}

2.创建您的SpecialDateevaluator

然后,您需要创建自己的日期评估器,以接受

Date
将要以不同方式处理的对象。一个简单的例子如下:

public class SpecialDateevaluator implements IDateevaluator {    private final List<Date> specialDates;    public SpecialDateevaluator(List<Date> specialDates) {        this.specialDates = specialDates;    }    @Override    public boolean isSpecial(Date date) {        for (Date d : specialDates) { if (d.equals(date)) {     return true; }        }        return false;    }    @Override    public Color getSpecialForegroundColor() {        return Color.black;    }    @Override    public Color getSpecialBackroundColor() {        return Color.red;    }    @Override    public String getSpecialTooltip() {        return null;    }    @Override    public boolean isInvalid(Date date) {        return false;    }    @Override    public Color getInvalidForegroundColor() {        return null;    }    @Override    public Color getInvalidBackroundColor() {        return null;    }    @Override    public String getInvalidTooltip() {        return null;    }}

3.使用日期评估器

要使用评估器,您需要将其添加到中

JDayChooser
,以获取
Date
对象列表,然后
Calendar
再次设置来刷新视图。例如:

JCalendar c = new JCalendar();c.getDayChooser().addDateevaluator(new SpecialDateevaluator(specialDates));c.setCalendar(Calendar.getInstance());

要查看此示例的完整示例(使用main方法),请参见示例gist。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/570975.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号