我目前正在Windows 7上开发一个SWT java应用程序。通常应用程序将被最小化,并且当串行端口上有事件时,应用程序应该自行最大化。以下代码执行最大化部分。Java SWT应用程序 - 带到前面
private void bringToFront(final Shell shell) {
shell.getDisplay().asyncExec(new Runnable() {
public void run() {
if(!shell.getMaximized()){
shell.setMaximized(true);
}
shell.forceActive();
}
});
}
但是有时SWT应用程序会在另一个应用程序后面最大化。例如,如果我在全屏模式下运行Powerpoint,则最大化应用程序将停留在PowerPoint演示文稿的后面。我希望能够最大限度地发挥它的作用,并将其应用于所有其他应用程序之前。
任何人都可以帮助我吗?
没有。 forceActive方法将外壳移动到Z顺序的顶部。当且仅当没有其他窗口也移动到Z顺序的顶部时,这会将外壳带到前面。 – 2012-03-15 15:47:21