Ich habe zwei Klassen, die sich gegenseitig referenzieren, was natürlich zu Problemen beim Kompilieren führt. Ich würde ja gerne beide Klassen zu einer einzigen Klasse vereinigen, aber die eine Klasse extendiert Button und die andere Panel. Hat jemand eine Idee, wie ich es bei einer Klasse hinbekomme, sowohl die Attribute und Methoden von Button als auch von Panel in der Klasse zu implementieren?
Hier der Code:
Hier der Code:
Java:
class OperationsButton extends Button {
private String typ;
private RechnerRahmen rahmen;
public OperationsButton(String typ, Rechnerrahmen rahmen) {
super(typ);
this.typ = typ;
this.rahmen = rahmen;
this.addActionListener(new OperationsListener());
}
class OperationsListener implements ActionListener {
public OperationsListener() {
super();
}
public void actionPerformed(ActionEvent e) {
System.out.println("OperationsButton "+typ+" aufgerufen");
rahmen.berechnen(typ);
}
}
}
Java:
class RechnerRahmen extends Panel {
public RechnerRahmen() {
super();
eingabe = new TextField("",20);
ZiffernButton ziffern[] = new ZiffernButton[10];
for (int i=0;i<10;i++) ziffern[i] = new ZiffernButton(i,eingabe);
OperationsButton op[] = new OperationsButton[3];
op[0] = new OperationsButton("+",this);
op[1] = new OperationsButton("-",this);
op[2] = new OperationsButton("*",this);
op[3] = new OperationsButton("=",this);
Panel ziffernRahmen = new Panel(new GridLayout(2,5));
for(int i=0;i<10;i++) ziffernRahmen.add(ziffern[i]);
Panel opRahmen = new Panel(new GridLayout(1,4));
for(int i=0;i<4;i++) opRahmen.add(op[i]);
this.add("North",eingabe);
this.add("Center",ziffernRahmen);
this.add("South",opRahmen);
}
}
Zuletzt bearbeitet von einem Moderator: