Hallo... vllt errinert sich jemand... ich bin die, die am taschenrechner arbeitet;(
Man hat mir nun erklärt, dass ich des mit zwei klassen schreiben muss: eine Klasse "looks" in der das Layout beschrieben wir und die Objekte ihre Listener bekommen, und eine Klasse "Mathe" in der die ActionListener definiert sind und alle mathematische Funktionen.
Dabei muss die Klasse "Looks" die Klasse "Mathe" kennen, aebr umgekehrt nicht. (was ich nur teilweise nachvollziehen kann)
Aber ich habe jetzt fleißig angefangen, alles umzuschreiben.
In der Klasse "Looks" habe ich "Mathe" instanziert:
So gebe ich ein ActionListener an die ZifferButtons:
Das problem nun - ich kriege ind er Klasse "Mathe" die Listener nicht auf die Reihe... wenn diese Klasse "Looks" nicht kennen darf, wie soll ich denn sagen, von welchem Button soll die Ziffer gelesen werden und in welches Feld soll sie reingesetzt werden?
Ich habe es so versucht und dass es nicht klappt ist nachvollziehbar... nur weis sich wirklich nicht, wie ich das nun schrieben soll
Danke schon mal für Eure Hilfe!
Man hat mir nun erklärt, dass ich des mit zwei klassen schreiben muss: eine Klasse "looks" in der das Layout beschrieben wir und die Objekte ihre Listener bekommen, und eine Klasse "Mathe" in der die ActionListener definiert sind und alle mathematische Funktionen.
Dabei muss die Klasse "Looks" die Klasse "Mathe" kennen, aebr umgekehrt nicht. (was ich nur teilweise nachvollziehen kann)
Aber ich habe jetzt fleißig angefangen, alles umzuschreiben.
In der Klasse "Looks" habe ich "Mathe" instanziert:
Java:
mathe xxx = new mathe();
So gebe ich ein ActionListener an die ZifferButtons:
Java:
for(int i = 0; i < 10; i++)//ZifferButtons kriegen Zahlen + ActionListener
{
ziffern[i] = new JButton(i+"");
ziffern[i].addActionListener(xxx.new ZifferButtons());
}
Das problem nun - ich kriege ind er Klasse "Mathe" die Listener nicht auf die Reihe... wenn diese Klasse "Looks" nicht kennen darf, wie soll ich denn sagen, von welchem Button soll die Ziffer gelesen werden und in welches Feld soll sie reingesetzt werden?
Ich habe es so versucht und dass es nicht klappt ist nachvollziehbar... nur weis sich wirklich nicht, wie ich das nun schrieben soll
Java:
class mathe
{
String operator;
double[] doublefeld = new double[3]; //1.zahl, 2.zahl, 3.zahl = ergebnis
JTextField f;
JButton b;
class ZifferButtons implements ActionListener//1, 2, 3, 4, 5, 6, 7, 8, 9, 0
{
public void actionPerformed(ActionEvent e)
{
f.setText(f.getText() + b.getText());
}
}
}
Danke schon mal für Eure Hilfe!