9

Java アプリケーションに複数のフレームがあります。それらのいくつかは、常に一番上に設定されています。ただし、ユーザーが別のプログラム (Web ブラウザーとしましょう) を開くと、常に上部にあるフレームを背景に移動して、他のアプリケーションが画面に完全に表示されるようにします。

4

2 に答える 2

4

独自のウィンドウマネージャーを作成します。

WindowListener、、、WindowStateListenerおよびを実装するカスタムウィンドウマネージャーを作成しますWindowFocusListener。すべての新しいフレームをこのマネージャーに登録し、それを使用して、ユーザーがフレームを操作するたびに常に最上位のフレームを前面に戻します。

アプリケーションがかなりカスタムのフレーム管理コードを使用しているようです。私の推測では、アプリケーションの開発を続けると、このウィンドウマネージャーはユーザーインターフェイスを管理するためのより多くの機能を引き継ぐでしょう。これにより、問題を解決するための設計が提供されるだけでなく、この動作に対する変更または拡張の基盤も提供されます。

ただし、Javaはオペレーティングシステムが他のアプリケーションで行うことを制御できないことに注意してください。すべてのオペレーティングシステムで、フレームを他のアプリケーションよりも確実に前面に表示することはできません。必要な動作を提供するために、このウィンドウマネージャーを作成するためにサポートするオペレーティングシステムを操作する必要があります。

于 2012-06-20T12:00:30.283 に答える
1

私の Java アプリケーションには複数のフレームがあります。それらのいくつかは常に一番上に設定されています。

そうしないで、代わりにCardLayoutを使用してください。実際に end_user アクションが必要な場合は、次に使用します

ただし、ユーザーが別のプログラム (Web ブラウザーとしましょう) を開くと、常に上部のフレームを背景に移動して、他のアプリケーションが画面に完全に表示されるようにします。

これはend_userにとって非常に煩わしい場合があります。代わりにフルスクリーンを使用してください

最も重要な残りの部分がコメントにあることに注意してください@Andrew Thompson

于 2012-06-20T12:07:05.890 に答える