Я использую SWT 4.4.2 (win32) для создания графического интерфейса пользователя для простого приложения mp3-плеера.
В дереве SWT я показываю некоторые папки и файлы для воспроизведения.
Теперь я хочу изменить громкость воспроизводимого файла, нажав на пункт меню, а также нажав ALT + ARROW_UP и ALT + ARROW_DOWN.Ускоритель меню SWT.ALT + SWT.ARROW не запускается
Так что эти компоненты:
tree = new Tree(shell, SWT.BORDER | SWT.FULL_SELECTION | SWT.SINGLE | SWT.V_SCROLL);
tree.setLinesVisible(true);
tree.setLocation(10, 10);
tree.setSize(240, 440);
audioLouderMenu = new MenuItem(audioVolumeMenu, SWT.PUSH);
audioLouderMenu.setAccelerator(SWT.ALT | SWT.ARROW_UP);
audioLouderMenu.setText("Louder");
audioLouderMenu.addListener(SWT.Selection, audioVolumeMenuHandler);
audioQuieterMenu = new MenuItem(audioVolumeMenu, SWT.PUSH);
audioQuieterMenu.setAccelerator(SWT.ALT | SWT.ARROW_DOWN);
audioQuieterMenu.setText("Quieter");
audioQuieterMenu.addListener(SWT.Selection, audioVolumeMenuHandler);
Проблема заключается в том, что если вид дерева имеет фокус, и я нажимаю ALT + Arrow_down затем другой элемент в дереве будет выбран, а не ярлык элемент меню запускается.
Является ли это ошибкой SWT и как я могу решить проблему? Я знаю, что я могу определить другой ярлык, но я думаю, что это также должно быть возможно использовать ALT + Arrow_up/DOWN ...
Я думал, что другой элемент в дереве выбирается нажатием только ARROW_UP или DOWN. ALT + СТРЕЛКА не должна быть зарезервирована. Это немного запутанно. Но теперь я взял ваш фрагмент, и он работает, спасибо! – altralaser