Установить первый день недели в JDateChooser

Мне нужна помощь, чтобы установить первый день недели с воскресенья на понедельник (изменить SMTWTFS на MTWTFSS) в com.toedter.calendar.JDateChooser, я пробовал так безрезультатно, я использую версию 1.3.3 JDateChooser:

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

person c georgian    schedule 30.09.2013    source источник
comment
Я знаю, что это старый вопрос, но я пытаюсь найти на него ответ. Вы нашли способ сделать это, кроме перехода на другую локаль?   -  person c0der    schedule 22.11.2015


Ответы (1)


Следуя соглашениям о правильной реализации геттера, getCalendar(), вероятно, возвращает копию используемого календаря. Поэтому ваш вызов setFirstDayOfWeek() относится к объекту, который не является объектом календаря вашего JDateChooser.

Кажется, я не могу найти документацию для JDateChooser 1.3.3, но если setCalendar() существует, это должно работать:

Calendar c = dateChooser.getCalendar();
c.setFirstDayOfWeek(Calendar.MONDAY);
dateChooser.setCalendar(c);
person Ron    schedule 30.09.2013
comment
setFirstDayOfWeek недействителен, его нельзя применить к setCalendar(Calendar c), вам нужно сохранить dateChooser.getCalendar() в объект Calendar, затем использовать setFirstDayOfWeek для этого объекта, а затем передать его в качестве параметра методу setCalendar. - person BackSlash; 30.09.2013
comment
Хорошо, мне это нравится, и это не меняет первый день недели, все еще воскресенье. JDateChooser dateChooser = новый JDateChooser (новая дата()); Календарный календарь = новый GregorianCalendar(); calendar.setFirstDayOfWeek(Календарь.ПОНЕДЕЛЬНИК); dateChooser.setCalendar (календарь); - person c georgian; 30.09.2013
comment
Хорошо, кажется, что первый день недели меняется на понедельник, если мы устанавливаем локаль для страны, для которой первый день недели — понедельник. Locale locale = новая локаль (da, DK); JDateChooser dateChooser = новый JDateChooser (новая дата()); dateChooser.setLocale (локаль); - person c georgian; 02.10.2013
comment
Тем не менее, я хотел бы найти, если это возможно, способ изменить только первый день недели. - person c georgian; 02.10.2013
comment
@BackSlash Вы правы, я изменил свой ответ, чтобы отразить ваши комментарии. - person Ron; 05.10.2013