私はさまざまなページなどを含むJava SWTデスクトップアプリケーションを持っています.pp。タブオーダーを除いて、まったく問題なく動作します。「フィールド 1」でキーボードの Tab キーを押すと、アプリケーションが「フィールド 2」にジャンプするようにしたいので、最初のフィールドに情報を入力した後に 2 番目のフィールドをクリックする必要はありません。
一般に、「フォームをタブで移動する」ための正しい順序を設定できる「setTabList」があります。私の問題は、順序を正しく設定する必要さえなく、タブ移動がまったく機能しないことです。
フォームのフィールドで Tab キーを押すと、ミリ秒の間、Windows の「ワーキング サークル」(またはそれが呼ばれるもの) が表示され、何も起こりません。カーソルはまったく同じ位置にとどまります。別のフィールドにジャンプしません。その理由はわかりません。
一般的に私のコード:
public void createControl(Composite parent) {
Composite container = new Composite(parent, SWT.BORDER);
setControl(container);
fieldOne = new StyledText(container, SWT.NONE);
fieldOne.setBounds(whatever);
fieldOne.addKeyListener(new KeyAdapter() {
public void keyReleased(KeyEvent arg0) {
txtChanged();
}
});
fieldTwo = new StyledText(container, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
fieldOne.setBounds(whatever);
fieldOne.addKeyListener(new KeyAdapter() {
public void keyReleased(KeyEvent arg0) {
txtChanged();
}
});
Control[] controls = { fieldOne, fieldTwo };
container.setTabList(controls);
}
Control[] と container.setTabList の行を省略しても、何も起こりません。
何か案は?