Möchte ein Fenster haben, was die Punkte zählt, bzw. Punkte abzieht wenn die Zahl nicht erraten worden ist.
Der Code des JFrames. Mit den Button "Test" funktioniert alles wunderbar. Klapppt gut. Nur wenn ich die setPunkte (); in einer anderen Klasse verwenden geht es nicht.
Zum Beispiel, wenn ich aus anderen Klasse die Punktezahl ändern möchte. Die Berechnung mit punkte(); geht wunderbar.
Vielleicht jemand ein Tipp? Kann es damit zusammenhängen, dass durch das Aufrufen in andern Klasse, dies nicht das selbe Objekt ist?
Danke
Der Code des JFrames. Mit den Button "Test" funktioniert alles wunderbar. Klapppt gut. Nur wenn ich die setPunkte (); in einer anderen Klasse verwenden geht es nicht.
Zum Beispiel, wenn ich aus anderen Klasse die Punktezahl ändern möchte. Die Berechnung mit punkte(); geht wunderbar.
Vielleicht jemand ein Tipp? Kann es damit zusammenhängen, dass durch das Aufrufen in andern Klasse, dies nicht das selbe Objekt ist?
Danke
Java:
public class FensterBib2 {
private JLabel zahl = new JLabel(""+10+"");
int punkte = 10;
public void pointCounter () {
JFrame pointCounter = new JFrame ("Deine Punktzahl!");
JButton Test = new JButton ("Test"); // nur zum testen der methode
JLabel showpoint = new JLabel("Deine Punkte: " );
Font schrift = new Font("Arial",66,66);
zahl.setFont(schrift);
JPanel panel1 = new JPanel ();
JPanel panel2 = new JPanel ();
JPanel panel3 = new JPanel ();
pointCounter.add(panel1);
pointCounter.add(panel2);
pointCounter.add(panel3);
pointCounter.setLayout(new GridLayout(4,0,5,5));
panel1.add(showpoint);
panel2.add(zahl);
panel3.add(Test);
pointCounter.setLocationRelativeTo(null);
Test.addActionListener(new Actionlistener()
{
public void actionPerformed (ActionEvent e)
{
punkte(1);
setPunkte();
if (getPunkte()<5)
{
zahl.setForeground(Color.RED);
}
}});
pointCounter.setSize(100,100);
pointCounter.setVisible(true);
pointCounter.setDefaultCloseOperation(2);
pointCounter.pack();
}
public void punkte (int abzug)
{
punkte = punkte - abzug;
System.out.println("Das sind die Punkte: " + punkte);
System.out.println("Der getter = " + getPunkte());
}
public int getPunkte ()
{
return (punkte);
}
public void setPunkte()
{
zahl.setText(""+getPunkte()); //Todo funktioniert nicht in anderen klassen..
}
}