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