焦点粘在外壳上,它不再通过 Tab 键遍历



我用SWT做了一个简单的外壳内容两个按钮。
编译完下面的代码后,当我在外壳上按几次 Tab 键时,焦点从按钮一遍到按钮二,接下来在外壳(平面(上;尽管按了 Tab 键,焦点仍停留在那里,不再遍历。
而外壳的风格是NO_FOCUS。
有人可以告诉我应该如何解决这个问题吗?

我正在使用:Windows 10 64位,Java 8 64位,swt v4.7.3,Eclipse neon(Java SEE开发人员(,

import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.layout.RowLayout;
import org.eclipse.swt.layout.RowData;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
public class MainWindows {
MainWindows() {
Display display = new Display();
Shell shell = new Shell(display, SWT.SHELL_TRIM | SWT.CENTER | SWT.NO_FOCUS | SWT.TOP);
shell.setText("test win");
shell.setLayout(new RowLayout());
shell.setSize(500, 500);
Button b1 = new Button(shell, SWT.PUSH);
Button b2 = new Button(shell, SWT.PUSH);
b1.setBounds(100, 100, 50, 50);
b2.setBounds(200, 200, 50, 50);
b1.setText("b1");
b2.setText("b2");
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) display.sleep();
}
display.dispose();
}
      static void main(String[] args) {
MainWindows mainWindows = new MainWindows();
}
}

我注意到,出现此问题是因为样式SWT。CENTER 被错误地用作 Shell 构造函数的参数。
样式 CENTER 对于对齐中心行为是常量 "使用者"小部件:按钮标签 表列 和 FormAttachment in a FormLayout
参考:类 SWT

相关内容

最新更新