私はJava gui。を学習しています。ウィンドウを作成する方法は、JFrame
クラスを継承または拡張することです。JFrame
にはすべてが含まれているため、ウィンドウのプロパティ今、このウィンドウに何かを追加したい場合は、add()
メソッドを使用する必要がありますが、今日はウィンドウを作成するJPanel
に遭遇しました。 jpanelObjec.add()
によって。
2つの方法の違いは何ですか?それらは何らかの関係がありますか?
JFrame
クラスを不必要に拡張しないでください(JFrame
クラスに追加機能を追加する場合のみ)
JFrame:
JFrame
はComponent
およびContainer
を拡張します。
これは、ウィンドウの最小要件を表すために使用される最上位のコンテナーです。これには、Border
s、サイズ変更可能(JFrame
サイズ変更可能)、タイトルバー、コントロール(最小化/最大化許可)、およびEvent
などのさまざまなwindowClose
sのイベントハンドラーが含まれます。 windowOpened
など.
JPanel:
JPanel
はComponent
、Container
、およびJComponent
を拡張します
これは、他のComponent
sをグループ化するために使用される汎用クラスです。
LayoutManager
sを使用する場合に便利です。 GridLayout
f.i別のJPanel
sにコンポーネントを追加し、JFrame
に追加して、GUIを作成します。 Layout
および再利用性の点で管理しやすくなります。
また、Swingでペイント/描画するときに、paintComponent(..)
をオーバーライドし、もちろんダブルバッファリングの完全な喜びを得るのに役立ちます。
Swing GUIは、(JWindow
、Window
、JFrame
Frame
またはApplet
)のようなトップレベルのコンテナなしでは存在できませんが、JPanel
s。
JFrame
はウィンドウです。内部に1つ以上のJPanel
インスタンスを含めることができます。 JPanel
はnotウィンドウです。
Swingチュートリアルが必要です: