当前位置: 首页 > 知识库问答 >
问题:

在JXDatePicker/JXMonthView中禁用日期

李鸿
2023-03-14

我正在编写的程序允许用户单击JXDatePicker上的日期来设置任务完成的日期。我想在JXDatePicker中禁用未来日期的选择,因为在我的程序中选择未来日期是无效的。

我发现JXDatePickers包含一个JXMonthView,而日期选择器或月份视图似乎不允许禁用单个/范围的日期。我可以更改各个日期和日期范围的背景颜色,这应该允许我将未来的日期设置为单独的颜色。然后,我可以在用户单击日历时添加一些验证,以禁止将来的日期。不过,如果我能说些日历之类的话,那就更干净了。setMaxDate(今天);

有人知道有没有比手工编写功能更简单的方法?也许另一个日期选择器组件可以解决这个问题?

共有3个答案

周翰
2023-03-14
package org.chillies.validator;
import java.util.Date;
@SuppressWarnings("deprecation")
public class DateValidator {
public Date getlowerBoundDate(){
    String date;
    Date date1=new Date();
    Integer year=1900+date1.getYear();
    date="01-Apr-"+year;
    return new Date(date);
}
public Date getupperBoundDate(){
    String date;
    Date date1=new Date();
    Integer year=1900+date1.getYear();
    date="31-Mar-"+(year+1);//you can set date as you wish over here
    return new Date(date);
 }
}

其余的代码是这样应用这个类的

datePicker.setBorder(null);
    DateValidator datevalidator=new DateValidator();
    datePicker.getMonthView().setLowerBound(datevalidator.getlowerBoundDate());
    datePicker.getMonthView().setUpperBound(datevalidator.getupperBoundDate());
孔阳炎
2023-03-14

经过几分钟的研究,看起来JDatePicker将在这里工作——见http://jdatepicker.com/tour-date-restriction.html

不过,如果有人知道一种简单的方法,仍然可以接受使用jxDatePicker实现这一点的建议。

家经纶
2023-03-14

如果要将日期选择限制在一个范围内,可以指定上限和下限

JXDatePicker picker = new JXDatePicker();
Calendar calendar = picker.getMonthView().getCalendar();
// starting today if we are in a hurry
calendar.setTime(new Date());
picker.getMonthView().setLowerBound(calendar.getTime());
// end of next week
CalendarUtils.endOfWeek(calendar);
calendar.add(Calendar.WEEK_OF_YEAR);
picker.getMonthView().setUpperBound(calendar.getTime());

(取自JavaDocs)

这将基本上限制从今天到周末的有效、可选择的日期。

 类似资料:
  • 嘿,伙计们,我只是想知道如何在JXDatepicker中禁用未来日期。我所说的未来日期是指当前系统日期之后的天数。我真的需要它来开发一个系统。 任何帮助都将不胜感激。非常感谢。

  • 问题内容: 我想在的日期选择器中禁用特定的日期。 我正在使用CSS作为组件。 我要禁用的日期将根据组合中先前值的选择而动态更改。 我相信应该可以,尽管不确定。 我怎样才能做到这一点 ? 问题答案: 我假设您正在使用Angular-UI中的指令。该属性使您可以禁用某些日期(例如,周末)。看到这个笨蛋http://plnkr.co/edit/gGAU0L?p=preview 如果要基于选择动态禁用日期

  • 我没有使用任何日期选择器仍然代码工作正常。我已经选择了输入类型日期和一切工作正常。现在我想禁用未来的日期。我该怎么做呢? 编辑:通过其他方式解决问题 我用过日期选择器 它是如此容易实现。只需安装npm包 同时安装力矩传感器 导入库 在构造函数中 dateChange函数 最后是渲染函数 这里使用maxDate函数来禁用未来的日期。 资料来源:https://www.npmjs.com/packag

  • 我正在尝试禁用今天日期和从今天开始的6天以上的日期。 我知道我可以用做到这一点,但是当我这样做的时候,它会禁用所有未来的日期。 我的代码: 我也尝试了,但出现了相同的错误。 有什么想法吗?

  • 我使用上述代码打开日历setSelection方法选择当前日期,setStart仅适用于当前月份,因此我无法选择上个月的日期,但我仍然可以选择当前月份的过去日期。 如果有谁能帮我。请让我知道。谢谢。

  • 问题内容: 日期选择器降落在Chrome 20上,是否有任何属性可以将其禁用?我的整个系统使用jQuery UI datepicker及其跨浏览器,因此,我想禁用Chrome本机datepicker。有标签属性吗? 问题答案: 隐藏箭头: 并隐藏提示: