use*_*385 1 java swing netbeans jdatechooser
我想禁用或隐藏JDateChooser中的过去的日期,或使其无法选择。我该怎么做?我尝试使用,.setSelectableDateRange但无法正常工作。我也尝试过,.setMinSelectableDate()但还是没有运气。我不知道,但是netbeans似乎不知道这些,因为这些没有出现在代码建议中。我正在这样使用它:
public void dateset() {
jDateChooser1.getCalendar(). //What to put here? It doesn't have .setSelectableRange
}
Run Code Online (Sandbox Code Playgroud)
我只尝试了在该日历上找到的一个:如何在JCalendar中仅显示今天之后的日期
我认为该帖子已经过时了。请帮忙。
这里:
jDateChooser1.getCalendar().
Run Code Online (Sandbox Code Playgroud)
您正在尝试将日期的边界设置为java.util.Calendar对象,这是不可能的。也许您对getJCalendar()感到困惑,该方法返回一个JCalendar对象:
jDateChooser1.getJCalendar().setMinSelectableDate(new Date()); // sets today as minimum selectable date
Run Code Online (Sandbox Code Playgroud)
请注意,您可以直接在日期选择器上设置最小可选日期:
jDateChooser1.setMinSelectableDate(new Date()); // sets today as minimum selectable date
Run Code Online (Sandbox Code Playgroud)
检查JDateChooser你可以看到这个方法的源代码只是转发到JCalendar目标:
public class JDateChooser extends JPanel implements ActionListener,
PropertyChangeListener {
protected IDateEditor dateEditor;
protected JCalendar jcalendar;
...
public void setMinSelectableDate(Date min) {
jcalendar.setMinSelectableDate(min);
dateEditor.setMinSelectableDate(min);
}
...
}
Run Code Online (Sandbox Code Playgroud)
您可能还想看看如何在Java日历中禁用或突出显示日期,以便更好地了解IDateEvaluator界面,这实际上是整个日期验证问题的关键。