0

Eclipse プラグインを作成し、プラグインのコントロールの 1 つに SWT ポップアップ メニュー (コンテキスト メニュー) を使用しています。コンテキスト メニュー項目は機能しますが、メニュー項目に設定したアクセラレータ (ショートカット) が機能せず、機能しません。次のようなメニュー項目を作成します。

MenuItem parent = new Menu(getShell(), SWT.POP_UP);
MenuItem menuItem = new MenuItem(parent, SWT.PUSH);
menuItem.setText("Click me");
menuItem.setAccelerator( SWT.CTRL+ 'F');

ショートカットの問題は、メニュー項目POP_UPではなくメニューで発生することに注意してください。BAR

4

1 に答える 1

0

試すitem.setAccelerator(SWT.MOD1 + 'A');

MOD1、MOD2 .. MOD4 は、イベントが生成されたときに MOD1 キーがキーボードで押されたことを示すキーボードおよび/またはマウス イベント マスクです。

より多くの参照があちらこちらあります。

編集:

Eclipse プラグインを開発していて、メニューを に配置している場合View、Eclipse プラットフォームのショートカット システムが SWT コンポーネントのアクセラレータに干渉している可能性があります。

コードをリファクタリングして、Eclipse が提供するショートカット拡張機能を使用することをお勧めします。

于 2013-08-15T22:05:47.927 に答える