Hi!
Ich habe eine abstrakte Klasse "Schachfigur". Diese Klasse wird von nicht-abstrakten Klassen wie "König" oder "Bauer" erweitert (König extends Schachfigur). Jede Schachfigur hat ein Bild. Deshalb gibt es in der Klasse König etc. eine static Variable "Image" (static, weil das Bild nicht vom jeweiligen Objekt abhängt). Dieser wird ein Wert zugewiesen;
Jetzt ist es so, dass beim erstellen der GUI das Schachfeld mit den Figuren eingelesen wird. Dabei wird für jedes Feld geschaut, welche Schachfigur darauf steht (ich habe eine Funktion, die den Typ Schachfigur zurückgibt). Je nachdem, was für eine Schachfigur das ist (König etc.) soll das Bild dargestellt werden.
Nun muss ich irgendwie auf die Unterklasse (König etc.) kommen, und von dieser aus auf die static Variable IMAGE zugreifen.
Jemand eine Idee, wie das geht?
Ich habe eine abstrakte Klasse "Schachfigur". Diese Klasse wird von nicht-abstrakten Klassen wie "König" oder "Bauer" erweitert (König extends Schachfigur). Jede Schachfigur hat ein Bild. Deshalb gibt es in der Klasse König etc. eine static Variable "Image" (static, weil das Bild nicht vom jeweiligen Objekt abhängt). Dieser wird ein Wert zugewiesen;
Java:
static
{
try
{
Schachfigur.IMAGE = new ImageIcon(ImageIO.read(new File(".../König.jpg"))).getImage();
}
catch (IOException e)
{
e.printStackTrace();
}
}
Jetzt ist es so, dass beim erstellen der GUI das Schachfeld mit den Figuren eingelesen wird. Dabei wird für jedes Feld geschaut, welche Schachfigur darauf steht (ich habe eine Funktion, die den Typ Schachfigur zurückgibt). Je nachdem, was für eine Schachfigur das ist (König etc.) soll das Bild dargestellt werden.
Nun muss ich irgendwie auf die Unterklasse (König etc.) kommen, und von dieser aus auf die static Variable IMAGE zugreifen.
Jemand eine Idee, wie das geht?
Zuletzt bearbeitet: