Hie Zusammen
Ich lern momentan Java. Dazu mach ich ein Spiel mit 2 JButton welche Zufällig grün werden. Dies Funktioniert super.
Nun möchte ich aber einen Punkte Zähler einbauen. Der wenn man auf einen der Beiden Buttons Klickt sich um 10 erhöht.
Dies wird dann auf einen JLable angezeigt.
Mein Problem nun wenn ich auf den ersten Knopf Klicke werden wie gewünscht 10 Punkte angezeigt. Sobald ich aber auf den 2. Knopf klicke passiert nichts (Score bleibt auf 10.
Dies Liegt wahrscheinlich daran das die Klassenvariabel "score" nicht geändert wird....
Nun wollte ich euch fragen wie ich dieses Problem lösenkann?
Momentan habe ich:
//vbutton1 ist der erste Butten auf welchen ich klicke
//vbutton2 ist der zweite Butten auf welchen ich klicke
//button1 ist das Label auf welchem der Score stehen sollte.
public int score=0; ===> in als Klassen Variabel.
MyActionListener ml1 = new MyActionListener(this,vbutton1,button1, score);
vbutton1.addActionListener(ml1);
MyActionListener ml2 = new MyActionListener(this,vbutton2,button1, score);
vbutton2.addActionListener(ml2);
ActionListener:
Die Funktion Punkte10
Ich lern momentan Java. Dazu mach ich ein Spiel mit 2 JButton welche Zufällig grün werden. Dies Funktioniert super.
Nun möchte ich aber einen Punkte Zähler einbauen. Der wenn man auf einen der Beiden Buttons Klickt sich um 10 erhöht.
Dies wird dann auf einen JLable angezeigt.
Mein Problem nun wenn ich auf den ersten Knopf Klicke werden wie gewünscht 10 Punkte angezeigt. Sobald ich aber auf den 2. Knopf klicke passiert nichts (Score bleibt auf 10.
Dies Liegt wahrscheinlich daran das die Klassenvariabel "score" nicht geändert wird....
Nun wollte ich euch fragen wie ich dieses Problem lösenkann?
Momentan habe ich:
//vbutton1 ist der erste Butten auf welchen ich klicke
//vbutton2 ist der zweite Butten auf welchen ich klicke
//button1 ist das Label auf welchem der Score stehen sollte.
public int score=0; ===> in als Klassen Variabel.
MyActionListener ml1 = new MyActionListener(this,vbutton1,button1, score);
vbutton1.addActionListener(ml1);
MyActionListener ml2 = new MyActionListener(this,vbutton2,button1, score);
vbutton2.addActionListener(ml2);
ActionListener:
Code:
package controller;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JLabel;
import view.Startframe;
public class MyActionListener implements ActionListener{
Startframe owner;
JButton button;
JLabel punkte;
int score;
public MyActionListener(Startframe owner, JButton button, JLabel button1, int score) {
this.owner = owner;
this.button = button;
this.punkte = button1;
this. score = score;
}
@Override
public void actionPerformed(ActionEvent e) {
if (((JButton) e.getSource()).getActionCommand().equals("1")) {
button.setLocation(5000, 5000);
button.setVisible(false);
punkte.setText("Punkte: "+(owner.Punte10(score)));
button.repaint();
}
if (((JButton) e.getSource()).getActionCommand().equals("2")) {
button.setLocation(5000, 5000);
button.setVisible(false);
punkte.setText("Punkte: "+(owner.Punte10(score)));
button.repaint();}
}
}
Die Funktion Punkte10
Code:
public int Punte10(int punke){
score=punke+10;
return(score);
}