【问题标题】:Set first day of week in JDateChooser在 JDateChooser 中设置一周的第一天
【发布时间】:2013-09-30 13:12:42
【问题描述】:

我需要一些帮助才能在com.toedter.calendar.JDateChooser 中设置一周的第一天从星期日到星期一(将 SMTWTFS 更改为 MTWTFSS),我尝试这样没有结果,我使用的是 1.3.3 版的 JDateChooser :

JDateChooser dateChooser = new JDateChooser(new Date());
dateChooser.getCalendar().setFirstDayOfWeek(Calendar.MONDAY);

【问题讨论】:

  • 我知道这是一个老问题,但我正在努力寻找答案。除了更改为不同的语言环境之外,您是否找到了其他方法?

标签: java dayofweek jdatechooser


【解决方案1】:

按照正确 getter 实现的约定,getCalendar() 可能会返回所用日历的副本。因此,您对 setFirstDayOfWeek() 的调用是在一个对象上进行的,该对象不是您的 JDateChooser 的日历对象。

我似乎找不到 JDateChooser 1.3.3 的文档,但如果 setCalendar() 存在,这应该可以工作:

Calendar c = dateChooser.getCalendar();
c.setFirstDayOfWeek(Calendar.MONDAY);
dateChooser.setCalendar(c);

【讨论】:

  • setFirstDayOfWeek 是无效的,它不能应用于setCalendar(Calendar c),您需要将dateChooser.getCalendar() 存储到Calendar 对象中,然后在该对象上使用setFirstDayOfWeek,然后通过它作为setCalendar 方法的参数。
  • 好的,我喜欢这样,它不会改变一周的第一天,仍然是星期天。 JDateChooser dateChooser = new JDateChooser(new Date());日历日历 = new GregorianCalendar(); calendar.setFirstDayOfWeek(Calendar.MONDAY); dateChooser.setCalendar(日历);
  • 好的,如果我们为一周第一天为星期一的国家/地区设置语言环境,似乎一周的第一天会更改为星期一。区域设置 locale = new Locale("da", "DK"); JDateChooser dateChooser = new JDateChooser(new Date()); dateChooser.setLocale(locale);
  • 如果可能的话,我仍然想找到一种仅更改一周第一天的方法。
  • @BackSlash 你是对的,我已经修改了我的答案以反映你的 cmets
猜你喜欢
  • 2014-08-28
  • 2019-08-30
  • 1970-01-01
  • 1970-01-01
  • 2012-08-22
  • 2019-10-07
  • 1970-01-01
  • 2020-01-18
  • 2013-11-30
相关资源
最近更新 更多