2014-09-16 4 views
0

Я пытаюсь преобразовать KeyStroke в SWT для хорошей презентации пользователя:SWT KeyStroke в строку

KeyStroke ks = org.eclipse.jface.bindings.keysKeyStroke.getInstance(SWT.CONTROL + SWT.SHIFT, SWT.F5); 

, что приводит к

CTRL+SHIFT+F5 

В основном это работает, но у меня есть две проблемы:

  1. Когда я смотрю на Eclipse IDE, он показывает KEYSTROKES, как это: Ctrl+Shift+F5
  2. Мне интересно, почему локаль не рассматривается. Я бы ожидал, что keyStroke будет Strg+Shift+F5 по немецкому языку

Любые подсказки?

ответ

1

Затмение называет

KeyFormatterFactory.setDefault(SWTKeySupport.getKeyFormatterForPlatform()); 

установить ключ форматирования, чтобы соответствовать нормальному дисплей для платформы. Это может использовать «Ctrl + Shift», на моем Mac он использует «^ ⇧».

Этот форматтер используется методом KeyStroke.format(). Если вы используете метод KeyStroke.toString(), вы всегда получаете версию в верхнем регистре.

Обновление: Имена «Ctrl» ... отображаются в файлах свойств ресурсных пакетов, поэтому их можно локализовать, но загрузка по умолчанию Eclipse не включает никакой локализации.

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