5

すべての最上位コンテナにはいくつかのレイヤーがあることを理解しています:

ルート ペイン
レイヤ ペイン
コンテンツ ペイン
ガラス ペイン

しかし、ルートペインが最上位のコンテナそのものであるかどうかはわかりません。

ペインとコンテナの関係は? 実際、ペインを で返すと getContentPane()、オブジェクトのタイプはContainer!

4

2 に答える 2

3

もありますJFrameルートペインの使用方法の詳細をご覧ください。

RootPaneContainerJRootPane から:

「ヘビーウェイト」コンポーネント(ピアに委任するコンポーネント、またはホストシステム上のネイティブコンポーネント)は、より暗く、より重いボックスで表示されます。4つのヘビーウェイトJFC/Swingコンテナー(JFrame、JDialog、JWindow、およびJApplet)は、それらが拡張するAWTクラスに関連して示されています。これらの4つのコンポーネントは、Swingライブラリ内の唯一の重量級コンテナです。

于 2010-05-17T15:20:37.353 に答える
2

以前の回答またはリンクを見ると、行間で、質問に対する実際の回答が次のようになっていることがわかります。

ルート ペインは最上位のコンテナ自体ではありませんが、最上位のコンテナにルート ペインがあります。

すべての Swing トップレベル コンテナ (つまり、JFrameJDialogおよびJApplet) はインターフェイスを実装しているRootPaneContainerため、一般的な方法でルート ペインにアクセスできることを意味します (これがJFrameまたはJDialog.... であるかどうかを確認する必要はありません) 。

質問の 2 番目の部分である、ペインとコンテナーの違いについては、実際には違いはありません。ペインはjava.awt.Container(または任意のサブクラス、特にjavax.swing.JPanel) です。

重要なのは、Swing の最上位コンテナー (ルート、コンテンツ、グラス、レイヤード) に存在するさまざまなペインです。これについては、以前の回答に投稿されたリンクを確認する必要があります。

于 2010-05-18T02:10:52.800 に答える