gpt4 book ai didi

java - 如何在 JCalendar 中仅显示今天日期之后的日期

转载 作者:行者123 更新时间:2023-11-29 06:42:19 24 4
gpt4 key购买 nike

我试图限制用户只选择今天之后的日期,或者选择另一个Date之后的日期我在 JCalendar API 上看到可以帮助我的东西,但我什么也没找到..我该怎么做?

最佳答案

我认为组件上没有直接的方法可以做到这一点。我知道的一种方法是使用 setSelectableDateRange(Date from,Date to) - 当您将起始日期设置为当前日期时,所有前一天的单元格、年/月下拉菜单将被禁用。

例子:

    JCalendar calendar = new JCalendar();
calendar.setSelectableDateRange(new Date(),new SimpleDateFormat("MM-DD-YYYY").parse("05-05-2015"));

PropertyChangeListener calendarChangeListener = new PropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent evt) {
Date selectedDate = ((JCalendar)evt.getSource()).getDate();
}
};
calendar.addPropertyChangeListener("calendar",calendarChangeListener);

这将禁止选择当前日期之前和 05/05/2015 之后的任何日期

请注意,此 API 未记录在他们的 javadoc 中。但这仍然是一个按预期工作的公共(public) setter。

编辑 因为您想知道如何在类似的上下文中使用 JDateChooser

    JDateChooser chooser = new JDateChooser();
chooser.getJCalendar().setSelectableDateRange(new Date(),new SimpleDateFormat("MM-DD-YYYY").parse("05-05-2015"));
chooser.getJCalendar().addPropertyChangeListener("calendar",...);

关于java - 如何在 JCalendar 中仅显示今天日期之后的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10021565/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com