0

JFramef1とf2の2つを作成する必要があるため、次のようになります。

  • f2がフォーカスを獲得したとしても、f2は常にf1の真下になります。
  • f1は必ずしも常に一番上にあるとは限りません(たとえば、ポップアップが一番上に表示される場合があります)。
  • (同じJavaアプリケーションまたはOSの他のアプリケーションからの)他のウィンドウをf1とf2の間に挿入することはできません。

注: CardLayout、InternalFrames、またはその他の軽量コンポーネントは使用できません。実際には2つJFrames(またはWindow)が必要です。その理由は、JavaアプリケーションでX-Windowの親を変更する必要があるためです。いくつかの理由から、このX-Wwindowをf2フレームで再親化し、f1ウィンドウのその部分を透明にして、ユーザーが後ろのXウィンドウ。

4

3 に答える 3

3

複数のフレームを使用する代わりに、複数のパネルを用意し、カード レイアウトを使用してそれらを管理することをお勧めします。

于 2012-11-29T17:04:54.900 に答える
2

このために 2 つのフレームを使用することは忘れてください。単一の Frame を使用し、JSplitPane (または単純な JPanel) を内部に配置して、2 つのセクションに分割します。

UI コンポーネントを使用して本来意図されていないことを行うと、ユーザー エクスペリエンスが低下し、確実に実装することが現実的ではなくなります。

于 2012-11-29T17:03:16.983 に答える
0

あなたがやろうとしていることについて、もう少し詳しく教えていただけますか?F1が常に画面上で優先されるのに、なぜF2が構築されているのかわかりません。JVMは、大量のコードを記述せずに、他のフレームがこれらのフレーム間に入らないようにすることを制御できません。

于 2012-11-29T19:30:12.277 に答える