Я создаю экземпляр календаря SWT DateTime. Как только я создаю экземпляр, я выполняю setDate () для желаемой даты. Несмотря на то, что дата установлена, выделение выбранной даты - серый, а не ожидаемый синий. Однако, если я вызываю setDate () как часть пользовательского слушателя, я могу видеть его выделенным синим цветом. Есть идеи почему?
Я пробовал forceFocus (), setFocus (), setVisible (), redraw () и update (). Кажется, никто из них не фокусируется.
dateTimeCalendar = new DateTime(dateTimeGroup, SWT.CALENDAR | SWT.SHORT);
dateTimeCalendar.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
calendarTabItem.setControl(dateTimeGroup);
addListener(null, dateTimeCalendar);
dateTimeCalendar.setEnabled(true);
dateTimeCalendar.addListener(SWT.MenuDetect, new CustomMenuDetectListener());
dateTimeCalendar.setDate(dateToBeSet.getYear(), dateToBeSet.getMonthOfYear(), dateToBeSet.getDayOfMonth());