現在、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アプリケーションが別のアプリケーションの背後で最大化されることがあります。たとえば、フルスクリーンモードで実行しているパワーポイントを持っている場合、最大化されたアプリケーションはパワーポイントプレゼンテーションの背後にあります。私はそれを最大化し、他のすべてのアプリケーションの前に持って行きたいと思います。
誰でも手伝ってもらえますか?
いいえ。 forceActiveメソッドは、シェルをZオーダーの先頭に移動します。これにより、他のウィンドウもZオーダーの先頭に移動していない場合に限り、シェルが前面に表示されます。 –