ArrayList
に含まれるボタンの数に応じてx個のボタンを追加するダミープロジェクトに取り組んでいます。異なる名前のパネルにJButtonを追加するどうして? (Java)(スイング)
次のコードは、for
ループブロック実行new
ボタンを毎回作成しlistOfButtons
命名ArrayList
に追加します。
次に、listOfButtons
に含まれているボタンをパネルに追加するだけです。
for (int i = 0; i < 10; i++) {
panel.add(listOfButtons.get(i));
}
このコンテキストでは、私の質問はなぜですか?同じ名前のユニークなボタンオブジェクトを作成するにはどうすれば合法でしょうか:button
。私はいつもオブジェクトの作成を次のように理解しています。プログラマーが別の参照変数と同じ名前の新しいObject参照変数を作成すると、新しい参照変数はメモリ内の別の単一オブジェクトを指します。
ループ内に新しいボタンを作成すると、そのボタンが「ローカル」に定義されます。これは、各反復において、 'button'と呼ばれる古い変数が不明であることを意味します(リストへの参照があなたのリストに存在することを除いて)。その結果、リスト内の各エントリには一意の参照がありますが、エントリ自体には名前がありません。 こんにちは! – jr593
すばらしい答えをいただきありがとうございます。私はすべてをアップアップしていますが、私の評判のために見えません。 – DragonMasa