我有一个带有各种页面等的 Java SWT 桌面应用程序。pp。它工作得很好,除了选项卡顺序 - 一点也不。当我在“字段 1”并按键盘上的 Tab 键时,我希望应用程序跳转到“字段 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 行排除在外,也不会发生任何事情。
有任何想法吗?