JavaのGUIで、
ラベルをクリックしたら長さ9の配列MBに値を格納するよう作っています。
ラベル番号L[0]~L[8]と配列番号MB[0]~MB[8]は対応していて
MBの各indexにデータは格納できています。(確認済み)
しかし、毎度各ラベルを押すたびに配列MBが更新されるのですが
更新のたびにInteger[]型のArrayListのbmsに配列MBをaddすると以前記録した
Integer[]ArrayList内のデータが上書きされてしまいます。
GUIのイベント内でArrayListが上書きされない対処法を教えてください。
※インスタンスが原因だと思うのですが対処法がわかりませんでした。
いちおう下記の対処法も試みましたがダメでした。
ラベルイベント内の失敗した対処法:例1
java
1L[0].addMouseListener(new MouseAdapter() { 2 public void mouseClicked(MouseEvent e) { 3 MB[0] = 1; 4 ArrayList<Integer[]> bms1 =(ArrayList<Integer[]>)bms.clone(); 5 bms.clear(); 6 ArrayList<Integer[]> bms=(ArrayList<Integer[]>) bms1.clone(); 7 bms.add(MB); 8 } 9});
ラベルイベント内の失敗した対処法:例2
java
1L[0].addMouseListener(new MouseAdapter() { 2 public void mouseClicked(MouseEvent e) { 3 MB[0] = 1; 4 Integer[] MB1=new Integer[9]; 5 MB1=MB; 6 bms.add(MB1); 7 } 8});
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/09 16:36 編集