2013-09-30 5 views
0

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

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

Я знаю, что это старый вопрос, но я пытаюсь найти ответ на него. Вы нашли способ сделать это иначе, чем перейти на другой язык? – c0der

ответ

0

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

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

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

'setFirstDayOfWeek' недействителен, его нельзя применить к' setCalendar (Calendar c) ', вам нужно сохранить' dateChooser.getCalendar() 'в объект' Calendar', а затем использовать 'setFirstDayOfWeek' на этом объекте, затем передайте его как параметр методу 'setCalendar'. – BackSlash

+0

Хорошо, мне нравится это, и это не меняет первый день недели, все равно воскресенье. \t \t JDateChooser dateChooser = new JDateChooser (новая дата()); \t \t Календарь calendar = новый GregorianCalendar(); \t \t календарь.setFirstDayOfWeek (Calendar.MONDAY); \t \t dateChooser.setCalendar (calendar); –

+0

Хорошо, кажется, что первый день недели изменится на понедельник, если мы установим локаль для страны, для которой первый день недели - понедельник. \t \t Locale locale = новый язык («da», «DK»); \t \t JDateChooser dateChooser = new JDateChooser (новая дата()); \t \t dateChooser.setLocale (locale); –

Смежные вопросы