From 006b75777bc8714a9f528edcd188734a5388b78f Mon Sep 17 00:00:00 2001 From: Marc Michalsky Date: Wed, 29 Apr 2020 16:06:42 +0200 Subject: [PATCH] MouseListener als anonyme Klasse --- src/gfn/marc/Feld.java | 24 ++++++++++-------------- src/gfn/marc/Spielfeld.java | 1 - src/gfn/marc/TicTacToe.java | 3 --- src/gfn/marc/gui/Fenster.java | 4 ++-- 4 files changed, 12 insertions(+), 20 deletions(-) diff --git a/src/gfn/marc/Feld.java b/src/gfn/marc/Feld.java index 441c5cf..01a9859 100644 --- a/src/gfn/marc/Feld.java +++ b/src/gfn/marc/Feld.java @@ -41,21 +41,17 @@ public class Feld { ((int) (rechteck.getPara3() * 0.8)), ((int) (rechteck.getPara4() * 0.8))); - this.label.addMouseListener(new CustomMouseListener()); - - } - - // Lokale Klasse für CustomMouseListener - class CustomMouseListener extends MouseAdapter { - - // Auf Setzen des Feldes prüfen und ggf. Form zeichnen lassen - @Override - public void mouseClicked(MouseEvent mouseEvent) { - if (!gesetzt && Zug.isZugLaeuft()) { - setZeichen(Spiel.getZug().getSpieler().getForm()); - Zug.setZugLaeuft(false); + this.label.addMouseListener(new MouseAdapter() { + @Override + public void mouseClicked(MouseEvent e) { + super.mouseClicked(e); + if (!gesetzt && Zug.isZugLaeuft()) { + setZeichen(Spiel.getZug().getSpieler().getForm()); + Zug.setZugLaeuft(false); + } } - } + }); + } public void setZeichen(Form form) { diff --git a/src/gfn/marc/Spielfeld.java b/src/gfn/marc/Spielfeld.java index 6a1ed4c..4d7e451 100644 --- a/src/gfn/marc/Spielfeld.java +++ b/src/gfn/marc/Spielfeld.java @@ -67,7 +67,6 @@ public class Spielfeld { } for (int i = 0; i < felder.length; i++) { - felder[i].getLabel().setBounds((felder[i].getRechteck().getPara1() - Spielfeld.KORREKTUR_X), (felder[i].getRechteck().getPara2() - Spielfeld.KORREKTUR_Y), felder[i].getRechteck().getPara3(), felder[i].getRechteck().getPara4()); diff --git a/src/gfn/marc/TicTacToe.java b/src/gfn/marc/TicTacToe.java index 854dba3..b357cd5 100644 --- a/src/gfn/marc/TicTacToe.java +++ b/src/gfn/marc/TicTacToe.java @@ -13,7 +13,6 @@ public class TicTacToe { @Override public void run() { try { - //f = null; f = new Fenster(); boolean nochEinSpiel = true; while (nochEinSpiel) { @@ -21,11 +20,9 @@ public class TicTacToe { nochEinSpiel = new Spiel(f).spielen(); // aufräumen - //f.setVisible(false); Gewinner.setSpieler(null); Zug.setZugNummer(0); f.getSpielfeld().reset(); - } } catch (InterruptedException ie) { System.err.println("Da ist was schief gelaufen!"); diff --git a/src/gfn/marc/gui/Fenster.java b/src/gfn/marc/gui/Fenster.java index 4352ab6..4da93bb 100644 --- a/src/gfn/marc/gui/Fenster.java +++ b/src/gfn/marc/gui/Fenster.java @@ -15,7 +15,7 @@ import java.io.IOException; public class Fenster extends JFrame implements ActionListener { private final MyPanel myPanel; - private final Spielfeld spielfeld; + private Spielfeld spielfeld; private int fenstergroesse; // Menüleiste @@ -32,6 +32,7 @@ public class Fenster extends JFrame implements ActionListener { this.setzeTitel("Tic Tac Toe"); this.fenstergroesse = 600; this.myPanel = new MyPanel(); + this.getContentPane().add(this.myPanel); // Menüleiste erzeugen this.menue = new JMenuBar(); @@ -67,7 +68,6 @@ public class Fenster extends JFrame implements ActionListener { }); this.setLocationRelativeTo(null); this.setResizable(false); - this.getContentPane().add(this.myPanel); this.spielfeld = new Spielfeld(this); this.setVisible(true); }