我想在Ubuntu下的powerpc平台上开发一个带SWT技术的System Virtual KeyBoard,我遇到的问题是如何在初始化Shell Window时让Shell失去焦点。
答案 0 :(得分:3)
Shell类的open()
方法使shell可见,并要求窗口管理器使其变为活动状态。在大多数情况下,活动shell是桌面上最顶层的shell和具有焦点的shell。
如果您想让shell显示但不活动,那么您可以尝试调用setVisible()
方法而不是open()
。
例如,我在我的电脑上尝试了以下操作,它启动了没有焦点的shell:
Display display = new Display();
Shell shell = new Shell(display);
shell.setText("Example Shell");
shell.setVisible(true);
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
display.dispose();