MouseListener nicht löschen

statt die Felder mit den MouseListener bei einem Resize des Fensters oder einer neuen Runde neu zu bauen, werden  die alten Felder wiederverwertet.
This commit is contained in:
Marc Koch 2020-04-28 22:34:21 +02:00
parent 2a81a0342e
commit 41d8b740cf
Signed by: marc
GPG Key ID: AC2D4E00990A6767
1 changed files with 31 additions and 9 deletions

View File

@ -46,25 +46,47 @@ public class Spielfeld {
return felder; return felder;
} }
public void reset() {
for (int i = 0; i < felder.length; i++) {
felder[i].setGesetzt(false);
felder[i].getRechteck().setGewinnerFeld(false);
felder[i].getKreuz().setSichtbar(false);
felder[i].getKreis().setSichtbar(false);
f.repaint();
}
}
public void resizeFelder(int spielfeldgroesse) { public void resizeFelder(int spielfeldgroesse) {
Feld[] felderNeu = new Feld[9];
int quadrant = (spielfeldgroesse / 3); int quadrant = (spielfeldgroesse / 3);
int k = 0; int k = 0;
for (int i = 0; i < 3; i++) { for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) { for (int j = 0; j < 3; j++) {
felderNeu[k] = new Feld(new Rechteck(((quadrant * j) + KORREKTUR_X), (KORREKTUR_Y + (quadrant * i)), felder[k].setRechteck(new Rechteck(((quadrant * j) + KORREKTUR_X), (KORREKTUR_Y + (quadrant * i)),
quadrant, quadrant)); quadrant, quadrant));
k++; k++;
} }
} }
for (int i = 0; i < this.felder.length; i++) {
felderNeu[i].getRechteck().setGewinnerFeld(felder[i].getRechteck().isGewinnerFeld()); for (int i = 0; i < felder.length; i++) {
felderNeu[i].getKreis().setSichtbar(felder[i].getKreis().isSichtbar());
felderNeu[i].getKreuz().setSichtbar(felder[i].getKreuz().isSichtbar()); felder[i].getLabel().setBounds((felder[i].getRechteck().getPara1() - Spielfeld.KORREKTUR_X),
felderNeu[i].setGesetzt(felder[i].isGesetzt()); (felder[i].getRechteck().getPara2() - Spielfeld.KORREKTUR_Y),
felderNeu[i].setFeldId(felder[i].getFeldId()); felder[i].getRechteck().getPara3(), felder[i].getRechteck().getPara4());
felder[i].getKreis().setPara1((int) (felder[i].getRechteck().getPara1() +
(0.1 * felder[i].getRechteck().getPara3())));
felder[i].getKreis().setPara2((int) (felder[i].getRechteck().getPara2() +
(0.1 * felder[i].getRechteck().getPara4())));
felder[i].getKreis().setPara3((int) (felder[i].getRechteck().getPara3() * 0.8));
felder[i].getKreis().setPara4((int) (felder[i].getRechteck().getPara4() * 0.8));
felder[i].getKreuz().setPara1((int)(felder[i].getRechteck().getPara1() +
(felder[i].getRechteck().getPara3() * 0.1)));
felder[i].getKreuz().setPara2((int) (felder[i].getRechteck().getPara2() +
(felder[i].getRechteck().getPara4() * 0.1)));
felder[i].getKreuz().setPara3((int) (felder[i].getRechteck().getPara1() +
(felder[i].getRechteck().getPara3() * 0.9)));
felder[i].getKreuz().setPara4((int) (felder[i].getRechteck().getPara2() +
(felder[i].getRechteck().getPara4() * 0.9)));
} }
this.felder = felderNeu;
} }
} }