Guten Abend,
ich habe mich bis jetzt nur wenig mit der Vererbung aus eigenen Eltern Klassen beschäftigt und stehe deshalb jetzt an einem Punkt an dem ich trotz Internet und eigenem herum probieren nicht weiter komme.
Ich will ein Spiel programmieren, dass sehr nah an "Risiko" heran kommt.
nun will ich nicht für jedes Gebiet, welches erobert werden kann, alles neu schreiben sondern die einzelnen Labels mit den Gebieten von meiner Elternklasse "Gebiet" erben lassen, so dass ich nur einzelne Variablen, intialisieren muss, um das JLabel angezeigt zu bekommen bzw während des Spiels verändern kann.
Dieses JLabel will ich nun in meiner GamePanel Klasse aufrufen. wenn ich den Pfad wie oben (als Kommentar) initialisiere, bekomme ich für jede Variable "null". aber auch auf die derzeitige Art und Weise erhalte ich kein JLabel..
ich tippe ja auf einen Fehler in "GamePanel", weiß mir aber nicht mehr zu helfen..
ich habe mich bis jetzt nur wenig mit der Vererbung aus eigenen Eltern Klassen beschäftigt und stehe deshalb jetzt an einem Punkt an dem ich trotz Internet und eigenem herum probieren nicht weiter komme.
Ich will ein Spiel programmieren, dass sehr nah an "Risiko" heran kommt.
nun will ich nicht für jedes Gebiet, welches erobert werden kann, alles neu schreiben sondern die einzelnen Labels mit den Gebieten von meiner Elternklasse "Gebiet" erben lassen, so dass ich nur einzelne Variablen, intialisieren muss, um das JLabel angezeigt zu bekommen bzw während des Spiels verändern kann.
Java:
package Game;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JPanel;
public abstract class Gebiet extends JPanel
{
public static String Land;
public static String ort;
public static int sp;
public static int wht;
public static int hgt;
// public String pfad = "D://Map/" + Land + "/" + Land + "-" + ort + "-" + sp + ".png";
public static String pfad = "D://Map/Dt/Dt-süd-0.png";
private static JLabel geb;
static Icon ii = new ImageIcon(pfad);
public static void createJLabel (JLabel gebiet)
{
geb.setIcon(ii);
geb.setLocation(wht, hgt);
geb.setVisible(true);
geb.setOpaque(false);
geb = gebiet;
}
public static JLabel getGebiet()
{
return Gebiet.geb;
}
}
Dieses JLabel will ich nun in meiner GamePanel Klasse aufrufen. wenn ich den Pfad wie oben (als Kommentar) initialisiere, bekomme ich für jede Variable "null". aber auch auf die derzeitige Art und Weise erhalte ich kein JLabel..
ich tippe ja auf einen Fehler in "GamePanel", weiß mir aber nicht mehr zu helfen..
Java:
package Game;
import java.awt.Color;
import javax.swing.*;
import Game.Gebiet;
public class GamePanel extends Gebiet
{
String dt_west = "D://Map/Dt/Dt-west-0.png";
String dt_nord = "D://Map/Dt/Dt-nord-0.png";
String dt_ost = "D://Map/Dt/Dt-ost-0.png";
static JLabel südDt;
static JLabel suedDt(JLabel suedDt)
{
sp = Variablen.Dt_sued;
Land = "Dt";
ort = "süd";
wht = 600;
hgt = 850;
return südDt;
}
public GamePanel()
{
setOpaque(false);
setBounds(0,0,1500,1500);
setLayout(null);
südDt = new JLabel();
System.out.println(pfad);
....