1

以下のコードの違いは何ですか?

JFrame jf=new JFrame();
JButton jb=new JButton();
jf.add(jb);

JFrame jf=new JFrame();
Container c=jf.getContentPane();
JButton jb=new JButton();
c.add(jb);

私でさえ、RootPane、LayeredPane、GlassPaneについて明確ではありません。RootPane の用途は何ですか?? コーディングで使用したことはありません。下のリンクから読んだ

http://docs.oracle.com/javase/tutorial/uiswing/components/toplevel.html

上記を使用した実際の状況がないため、あまり明確ではありません。ご回答有難うございます!!

4

2 に答える 2

1

どちらも同じです...
どちらも java.awt.Container オブジェクトに追加されます。

JFrame と Container の階層は次のとおり
Case 1: JFrame#add()--> Frame#add()--> Window#add()--> Container#add() // コンポーネントをコンテナに追加

ケース 2: JFrame#getContentPane() --> getRootPane().getContentPane(); Container object(Container#add) を返します

于 2013-04-12T04:54:41.363 に答える