【发布时间】:2015-08-25 18:39:37
【问题描述】:
我目前正在 Windows 7 上开发 SWT java 应用程序。通常应用程序将被最小化,当串行端口上发生事件时,应用程序应最大化自身。下面的代码做了最大化部分。
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 顺序的顶部时,这会将 shell 带到前面。