Hallo,
ich bin noch ein Java-Anfänger, daher weiß ich nicht 100%, ob mein Fehler überhaupt mit dem Layout zu tun hat, oder ob ich ein Problem mit der
Erreichbarkeit der Variablen habe..

Hier hab ich ein "Kartendeck" erzeugt (ich will mit dem CardLayout arbeiten, daher der Name). Es geht mir um die Variable "punkte".
Eigentlich müssten andere Klassen doch auf die Variable zugreifen können? (Ich habe es auch schon mit einem getter/setter probiert), jedoch bleibt die Variable aus mir unerklärlichen Gründen immer auf 0 eingestellt.

Ich erstelle hier ein paar Panels, die aber für die Frage nicht relevant sind, bis auf das Panel "ranking" und das dazugehörige rankingLabel.
Evtl noch das Frage-Panel, hier sind die Buttons, mit einem ActionListener, der eigentlich den Punktestand überschreiben soll, dass eben, wenn das ranking-Label aufgerufen wird, dort der aktuellste Punktestand angezeigt wird.

Hier ist jetzt mein ActionListener. Eigentlich kann er auf Variablen der Deck-Klasse zugreifen, er hat "card" ja auch daraus entnommen. Auf die Fragen-Klasse kann er prinzipiell auch zugreifen, er holt sich daraus die ArrayList "buttons.
Ich habe schon verschiedene Varianten probiert, die Ausgabe ist immer "Ihr Highscore ist: 0". Auch wenn ich das Ranking-Label erst im ActionListener beschriftet oder sogar erst dort geaddet habe. Ich hab vorsichtshalber auch mal "repaint()" ausprobiert (auch wenn ich als Anfänger noch nicht ganz sicher weiß, was diese Methode macht, geholfen hat sie auf jeden Fall nicht).
Also irgendwie kann mein ActionListener nicht meinen Punktestand überschreiben, das Label lässt sich nämlich im Listener verändern, es müsste also evtl an meinen modifiern liegen?
Ich wäre um jede Hilfe dankbar,
LG
Lena
EDIT: Die Bezeichnung "Hauptklasse" in meinem Fragetitel ist falsch. Ich meinte damit die Deck-Klasse. Meine Hauptklasse mit der main-Methode ist eine andere, die erstellt aber nur ein neues Objekt der Deck-Klasse.
ich bin noch ein Java-Anfänger, daher weiß ich nicht 100%, ob mein Fehler überhaupt mit dem Layout zu tun hat, oder ob ich ein Problem mit der
Erreichbarkeit der Variablen habe..

Hier hab ich ein "Kartendeck" erzeugt (ich will mit dem CardLayout arbeiten, daher der Name). Es geht mir um die Variable "punkte".
Eigentlich müssten andere Klassen doch auf die Variable zugreifen können? (Ich habe es auch schon mit einem getter/setter probiert), jedoch bleibt die Variable aus mir unerklärlichen Gründen immer auf 0 eingestellt.

Ich erstelle hier ein paar Panels, die aber für die Frage nicht relevant sind, bis auf das Panel "ranking" und das dazugehörige rankingLabel.
Evtl noch das Frage-Panel, hier sind die Buttons, mit einem ActionListener, der eigentlich den Punktestand überschreiben soll, dass eben, wenn das ranking-Label aufgerufen wird, dort der aktuellste Punktestand angezeigt wird.

Hier ist jetzt mein ActionListener. Eigentlich kann er auf Variablen der Deck-Klasse zugreifen, er hat "card" ja auch daraus entnommen. Auf die Fragen-Klasse kann er prinzipiell auch zugreifen, er holt sich daraus die ArrayList "buttons.
Ich habe schon verschiedene Varianten probiert, die Ausgabe ist immer "Ihr Highscore ist: 0". Auch wenn ich das Ranking-Label erst im ActionListener beschriftet oder sogar erst dort geaddet habe. Ich hab vorsichtshalber auch mal "repaint()" ausprobiert (auch wenn ich als Anfänger noch nicht ganz sicher weiß, was diese Methode macht, geholfen hat sie auf jeden Fall nicht).
Also irgendwie kann mein ActionListener nicht meinen Punktestand überschreiben, das Label lässt sich nämlich im Listener verändern, es müsste also evtl an meinen modifiern liegen?
Ich wäre um jede Hilfe dankbar,
LG
Lena
EDIT: Die Bezeichnung "Hauptklasse" in meinem Fragetitel ist falsch. Ich meinte damit die Deck-Klasse. Meine Hauptklasse mit der main-Methode ist eine andere, die erstellt aber nur ein neues Objekt der Deck-Klasse.
Zuletzt bearbeitet: