同一個 `JButton` 實例 `add` 多次到同一或不同容器,最終只會出現在最後一次 `add` 的容器中 (或拋出 `IllegalArgumentException: adding a window to a container`)。
// 錯誤
JButton btn = new JButton("Click");
for (int i=0; i<10; i++) panel.add(btn); // 只會有一個按鈕
// 正確:每次 new 新實例
for (int i=0; i<10; i++) {
panel.add(new JButton("Button " + (i+1)));
}
JButton[] buttons = new JButton[10];
for (int i=0; i<10; i++) {
buttons[i] = new JButton("Btn " + i);
buttons[i].addActionListener(e -> {
JButton src = (JButton)e.getSource();
System.out.println("Clicked: " + src.getText());
});
panel.add(buttons[i]);
}
記住:**GUI 元件不可共享實例,每個視覺位置需獨立 `new`**。