首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSpinner SpinnerDateModel问题

JSpinner SpinnerDateModel问题
EN

Stack Overflow用户
提问于 2010-08-13 23:21:30
回答 1查看 2.6K关注 0票数 1

我正在尝试创建一个JSpinner,使用户能够选择日期。我希望有一个较低的日期限制和较高的日期限制。我还希望初始值是日期下限。不幸的是,我的问题是它不允许我使用下限作为初始值( JSpinner只是变得没有响应)。下面是我的代码:

代码语言:javascript
复制
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"));

如果我将初始值设置为在下限之前或之后一分钟,则可以正常工作。但对于我的要求,我不想那样做。

帮助?

EN

回答 1

Stack Overflow用户

发布于 2010-08-14 01:19:09

在我看来像是个虫子。我摆弄了一些代码,似乎无论你传递给setValue的是什么,我都称之为value,它必须至少是一个大于minTimecalendarField单元。

也就是说,如果您使用的是model.setCalendarField(Calendar.YEAR)value必须是2011年的任何日期,假设您使用的是2010年的minTime日期。

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

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

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3478297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档