【问题标题】:How to use JCalendar to select an element of my array?如何使用 JCalendar 选择我的数组的元素?
【发布时间】:2013-05-14 18:02:36
【问题描述】:

我有一个 3D 数组,其中包含 38 年、12 个月和每个月的 31 个条目(无论该月有多少天)。像这样:array[38][12][31]。我还有一个 JCalendar,它现在除了看起来很漂亮之外什么都不做,而且 JCalendar 在下面有一个按钮。我将如何做到这一点,以便我可以在日历中选择一个日期,然后按下按钮,它会返回我的数组中与该日期对应的元素?

类似

if(buttonPressed){
    year = chosenYear - 1975;
    month = chosenMonth;
    day = chosenDay;

    System.out.print(array[year][month][day]);
}

谢谢大家。

【问题讨论】:

  • 1) 请问哪一个来自 JCalendars
  • 2)(如果由 Kai Toedter 提供)以获得更好的帮助,尽快发布 SSCCE,简短、可运行、可编译
  • 3) 把(所有好的 JCalendars 都有 XxxCellEditor 的类)所有 JCalendars 到 JTable,然后你可以忘记任何类型的数组,XxxTableModel 从其他地方返回任何更改或值

标签: java arrays swing calendar jcalendar


【解决方案1】:

可以在PropertyChangeListener中获取选中的Date,如图here。获得date 后,您可以从Calendar 获取年、月和日:

Calendar c = Calendar.getInstance();
c.setTime(date);
int y = c.get(Calendar.YEAR);
int m = c.get(Calendar.MONTH);
int d = c.get(Calendar.DAY_OF_MONTH);

Calendar.MONTH 已经是从零开始的,但Calendar.DAY_OF_MONTH 不是;并且您需要将年份调整为您的基线。

【讨论】:

  • 你确实让我走上了正轨,谢谢!正如您所展示的,我目前正在尝试将整数设置为所选日期,但我收到错误 incompatible types. Required: JCalendar. Found: Calendar 任何想法? :)
  • 你必须投Date date = (Date) e.getNewValue()
  • 它是aliiiiive!非常感谢你们俩! @卡特琳娜岛
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-08
  • 1970-01-01
相关资源
最近更新 更多