1

私はSWTで小さな(リキキ)問題を抱えています...

私はorg.eclipse.swt.widgets.Compositeを拡張する小さなクラスを作成しています。これは RCP アプリにネストされるはずです...

この小さなクラスには、マウスまたはキーボードのイベントに反応するウィジェットがあります

しかし

修飾キー ( Shift/Ctrl/Alt/... ) を使用して、コンポーネントをクリックしたり、キーボード イベントを送信したりしたときにコンポーネントの動作を変更する必要があります ...

問題は、ユーザーが自分のコンポーネントからそれを打ってからクリックできるため、mod-key の打鍵を聞くことができないことです...

コンポーネントをネストするシェルの邪魔を避けるために表示フィルターを使用することはできません。

イベントを読み取ってすべてのコンポーネントにディスパッチする透過的なコンポーネントを作成することはできません。これは、せいぜい自分のコンポーネントと同じくらいの大きさであり、シェルから自分のコンポーネント (またはシェルからさえも) からのmod キーストライクを取得しないためです。 ) ...

誰にもアイデアはありますか?

4

3 に答える 3

1

次の行に沿って何かを試して、すべてのキーをキャプチャし、後で使用できるように保存します。

    Display.getDefault().addFilter( SWT.KeyDown, new Listener() {

        public void handleEvent( Event passedEvent ) {
            //Listen for and store as static var last pressed keycode
            System.out.println( "Key Event: " + passedEvent );
        }
    } );
于 2009-06-23T18:04:04.100 に答える