Hallo mal wieder,
ich habe drei Klassen: Field, FreeField und PredefField, wobei gilt:
Field extends JFrame
FreeField extends Field
PredefField extends Field
jetzt habe ich für jede Klasse einen Konstruktor erstellt, wobei eigentlich nur der von der Vaterklasse Field was macht
der existiert auch mit
jetzt der interessante Teil: ich habe eine Methode geschrieben, die den Typen eines Feldes ändern soll
aber leider sagt mir Eclipse, dass diese Art von Konstruktor bei PredefField nicht existiert (das ist das mittlere else-if) und schlägt mir vor, es hinzuzufügen, mach ich -> neue Fehlermeldung, denn der Konstruktor ist ja schon vorhanden. Bei Field oder Freefield meckert er an dieser Stelle nicht.
Aaaber, dafür sagt mir meine FreeField.class, dass der super-Konstruktor von Field nicht existiert -> automatisch hinzugefügt, wieder das gleiche Problem, Methode 2x vorhanden.
In der Klasse PredefField gibts immerhin keinen Fehler, den Eclipse mir anzeigen kann :-S (sagt mir aber, dass irgendwo einer sei)
Eclipse schon neugestartet und veruscht so auszuführen -> NosuchMethodError
Der gesamt-Code ist relativ lang (ca 450 Zeilen) möchte den also wenn möglich nicht hier reinbomben, falls irgendwelche anderen Teile zur Analyse benötigt werden, immer raus damit.
Danke schonma
Gruß
Ro
ich habe drei Klassen: Field, FreeField und PredefField, wobei gilt:
Field extends JFrame
FreeField extends Field
PredefField extends Field
jetzt habe ich für jede Klasse einen Konstruktor erstellt, wobei eigentlich nur der von der Vaterklasse Field was macht
Java:
public FreeField(Ground g, int x, int y){
super(g, x, y);
}
...
public PredefField(Ground g, int x, int y){
super(g, x,y);
}
der existiert auch mit
Java:
public Field(Ground g, int x, int y){
this.coord_x = x;
this.coord_y = y;
...
}
jetzt der interessante Teil: ich habe eine Methode geschrieben, die den Typen eines Feldes ändern soll
Java:
/**
* Ändert den Typ eines Feldes
* @param f welches Feld
* @param type zu welchem Typ
*/
public static void changeType(Field f, String type){
if (type.toUpperCase().equals("FREE")){
f = new FreeField(f.playground, f.get_Coord_X(), f.get_Coord_Y());
}
else if (type.toUpperCase().equals("PREDEF")){
f = new PredefField(f.playground, f.get_Coord_X(), f.get_Coord_Y());
}
else if (type.toUpperCase().equals("DEFAULT")){
f = new Field(f.playground, f.get_Coord_X(), f.get_Coord_Y());
}
else {
System.out.println("No type to change found...");
}
System.out.println(f.getClass().getName());
}
aber leider sagt mir Eclipse, dass diese Art von Konstruktor bei PredefField nicht existiert (das ist das mittlere else-if) und schlägt mir vor, es hinzuzufügen, mach ich -> neue Fehlermeldung, denn der Konstruktor ist ja schon vorhanden. Bei Field oder Freefield meckert er an dieser Stelle nicht.
Aaaber, dafür sagt mir meine FreeField.class, dass der super-Konstruktor von Field nicht existiert -> automatisch hinzugefügt, wieder das gleiche Problem, Methode 2x vorhanden.
In der Klasse PredefField gibts immerhin keinen Fehler, den Eclipse mir anzeigen kann :-S (sagt mir aber, dass irgendwo einer sei)
Eclipse schon neugestartet und veruscht so auszuführen -> NosuchMethodError
Der gesamt-Code ist relativ lang (ca 450 Zeilen) möchte den also wenn möglich nicht hier reinbomben, falls irgendwelche anderen Teile zur Analyse benötigt werden, immer raus damit.
Danke schonma
Gruß
Ro