0

コードは次のとおりです。

JFrame jframe = new JFrame("no difference");
JButton button = new JButton("no difference");
jframe.getContentPane().add(button); 
// the same result occurs for
jframe.add(button);

getContentPaneオブジェクトを返しContainerます。JFrame と同じように機能する場合、コンテナにボタンを追加するポイントは何ですか? コーディングできるのにわざわざコーディングjframe.getContentPane().add(button);する必要はありませんjframe.add(button);

4

3 に答える 3

3

JFrame javadocから

利便性addとそのバリアントとして、必要に応じて に転送するようにオーバーライドされていremoveます。setLayoutcontentPane

JFrame.getContentPane().add()これは、を介してコンポーネントを追加しても意味がないことを意味しJFrame.add()ます。

コンテンツ ペインとその対処方法について説明している次の記事をご覧になることをお勧めします: ContentPane (またはコンテンツ ペイン?)

于 2013-10-03T19:40:16.637 に答える
2

コンテナではなくJFrameに要素を追加することの違いは何ですか?

他の回答は、あなたが述べた場合に効果が同じである理由について、質問の実際の核心をカバーしています。というわけで、もう一つ違いを追加します。汎用性。

(JFrame最上位のコンテナである) は他のものには追加できませんが、後者 (単純なコンテナである) は次のものに追加できます。

  • JFrame
  • JApplet
  • JWindow
  • JDialog
  • JScrollPane
  • のタブJTabbedPane
  • の 1 つの領域JSplitPane
  • 別のパネル内のレイアウトの 1 つの領域。
  • ...
于 2013-10-04T01:20:49.363 に答える