gpt4 book ai didi

java - JSpinner SpinnerDateModel 问题

转载 作者:行者123 更新时间:2023-11-30 05:10:40 25 4
gpt4 key购买 nike

我正在尝试创建一个 JSpinner 以使用户能够选择日期。我希望有一个日期下限和一个日期上限。我还希望初始值是日期下限。不幸的是,我的问题是它不允许我使用下限作为初始值(JSpinner 根本没有响应)。这是我的代码:

SpinnerDateModel model = new SpinnerDateModel();
model.setStart(minTime); //lower limit
model.setEnd(maxTime); //upper limit
model.setValue(minTime); //doesn't like this!
model.setCalendarField(Calendar.MINUTE);
JSpinner timePicker = new JSpinner(model);
timePicker.setEditor(new JSpinner.DateEditor(timePicker, "HH:mm dd/MM/yy"));

如果我将初始值设置为下限之前或之后一分钟,则效果很好。但对于我的要求,我不希望这样。

帮忙?

最佳答案

对我来说看起来像是一个错误。我搞乱了一些代码,看起来无论你传递给 setValue ,我将其称为 value ,必须至少为 calendarField大于 minTime 的单位.

即如果您使用过 model.setCalendarField(Calendar.YEAR) , value必须是 2011 年的任何日期,假设您使用 2010 年的日期来表示 minTime .

根据 Sun 的说法,SpinnerDateModel 构造函数强制执行的不变式是 minimum <= value <= maximum ,所以这个问题不应该发生。

首先想到的解决方法是创建自定义 SpinnerDateModel它覆盖 getPreviousValue()setValue()手动检查您想要的方法minTime .

关于java - JSpinner SpinnerDateModel 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3478297/

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