gpt4 book ai didi

java - Nebula CDateTime 中的奇怪行为

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:32:16 25 4
gpt4 key购买 nike

我正在尝试将 CDateTime 作为我的 swt 表格控件的单元格编辑器。当我运行独立的 CDateTime 示例(来自 here )时,它是这样的:

Regular CDT behavior

CDateTime 是这样创建的:

final CDateTime cdt = new CDateTime(shell, CDT.DROP_DOWN | CDT.DATE_SHORT | CDT.COMPACT);
cdt.setSelection(new Date());

注意导致下拉的图标 - 它看起来像一个日历。您可以看到月份/年份,标题左角有 2 个箭头按钮和一个“今天”按钮。选择日期时,日期也会正确写入文本框。

但是,当我尝试将它添加为单元格编辑器时,它是这样的:

CDateTime as a cell editor

请注意,图标不同,标题部分也不同。还要注意我是如何选择一个日期并得到这个奇怪的数字的——一个月是 32! - 在文本框中。当弹出窗口消失时,日期是正确的,但这种奇怪的行为看起来很奇怪并且令人担忧。

我这样创建了 CDateTime:

    final int style = getStyle() | CDT.DATE_SHORT | CDT.DROP_DOWN | CDT.COMPACT ;
this.dateTime = new CDateTime(parent, style);
this.dateTime.setPattern("mm/dd/yyyy");

我做错了什么?

最佳答案

我知道这是一个老问题,但答案是:你设置的模式是错误的,“mm”代表分钟。相反,您可以使用“MM”来获取月份:

    dateTime.setPattern("MM/dd/yyyy");

关于java - Nebula CDateTime 中的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29945592/

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