全体的な問題は、コンポーネント (ボタン、メニュー項目など) のオブジェクトが JFrame、JPanel、JMenu などに追加された場合、Java はそのオブジェクトをどこに格納するのかということです。ドキュメントを掘り下げているときに、それらがリストに格納されていると言っているのを見ましたが、Oracleのドキュメントを掘り下げて、その実装に関する特定の情報を見つけようとしています。すでにそれを理解している人は、私が理解するのを助けることができますか?
Oracle の Java チュートリアルを進めていたときに、同じ型のオブジェクトを作成するために単一の識別子が再利用されていることに気付きました。たとえば、これは 2 つの別個のボタンを作成します。
JPanel buttonPnale = new JPanel("Making some buttons");
JButton buttonMaker;
buttonMaker = new JButton("Left button", blueBurstIcon);
buttonPanel.add(buttonMaker);
buttonMaker = new JButton("Right button", orangeBurstIcon);
buttonPanel.add(buttonMaker);
通常、私はこれを行う必要があると思っていたでしょう:
JButton buttonOne = new JButton("Left button", blueBurstIcon);
JButton buttonTwo = new JButton("Right button", orangeBurstIcon);
個別のオブジェクトごとに個別の識別子を作成します。
明らかに、コードの最初のスニペットのオブジェクトはどこかに保存されています。どこにあるかを調べようとしています。それらがコピーされるのは、.add を呼び出すときでなければなりませんが、どこにコピーされますか? それらが JPanel に追加された場合、それらは JPanel に含まれるデータ構造にコピーされますか? または、JPanel が追加された JFrame の一部のデータ構造に?