2016-05-11 6 views
2

SWTでLabelTextコントロールを使用すると、入力フィールドをアクティブにするラベルにニーモニックを定義する方法はありますか? Buttonにニーモニックを設定する方法の例をいくつか見つけましたが、ニーモニックをLabelに定義して別の入力コントロールをポイントするにはどうすればいいですか?テキスト入力フィールドのラベルニーモニック

答えて

3

最も単純な場合、ニーモニックをボタンと同様に定義できます。

Label label = new Label(parent, SWT.NONE); 
label.setText("&Name"); 
Text text = new Text(parent, SWT.BORDER); 

のAlt + Nを押すと、ラベルのタブオーダー内の次のである制御は、この場合には、テキスト入力フィールドを中心に説明します。

別のコントロールでフォーカスを取得する必要がある場合は、ラベルにトラバーサルリスナーを追加し、手動で目的のコントロールにフォーカスを移動する必要があります。 例:

Label label = new Label(parent, SWT.NONE); 
label.setText("&Name"); 
label.addListener(SWT.Traverse, new Listener() { 
    @Override 
    public void handleEvent(Event event) { 
    if(event.detail == SWT.TRAVERSE_MNEMONIC) { 
     event.doit = false; 
     otherControl.setFocus(); 
    } 
    } 
}); 
+0

これはOSXとLinuxでもうまく動作しますか? – Baz

関連する問題