0

SWT で Table コンポーネントを使用しています。このテーブルの値を編集して Enter キーを押すたびに、この値がこのテーブルのテキスト コンポーネントに保存されます。

しかし、タブで区切られた2つの単語を入力したい場合、エディターはフォーカスを失い、編集する次のセルに移動します(ブラウザーフォームでタブを押すなど)。私はこれが起こることを望んでおらず、フォーカスが失われることなくユーザーが単語の間にタブを入力できるようにしています。これを作成する方法を知っている人はいますか?

私はすでにkeyListenerを使用しようとしましたが、タブイベントはこのリスナーによって処理されていないようです

4

1 に答える 1

5

TraverseListenertextField に を追加できます。

text.addTraverseListener(new TraverseListener () {
        public void keyTraversed(TraverseEvent e) {
            switch (e.detail) {
                case SWT.TRAVERSE_TAB_NEXT:
                case SWT.TRAVERSE_TAB_PREVIOUS: {
                    e.doit = false;
                }
            }
        }
    });

このコード スニペットの例を確認してください。

于 2012-09-17T07:29:09.957 に答える