Vererbung Ein JLabel einer Elternklasse anzeigen

mOiterei

Mitglied
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.
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);

....
 

Harry Kane

Top Contributor
Weisst du was static bedeutet?
Alles in allem ein sehr komischer Code.
Was soll das hier z. B. :
Java:
static JLabel suedDt(JLabel suedDt){
    sp = Variablen.Dt_sued;
   Land = "Dt";
   ort = "süd";
   wht = 600;
   hgt = 850;
   return südDt;
}
Du machst nichts mit dem übergebenen Parameter "suedDt". Stattdessen verändert du ein paar der statischen Variablen in der Elternklasse, und gibst das JLabel "südDt" zurück, was gar nicht initialisiert ist und obendrein fast genauso heisst wie der Parameter "suedDt".
 

mOiterei

Mitglied
soweit ich weiß geht es dabei doch um die Erzeugung schon während dem laden der Klasse.

Ich muss doch aber die Variablen verändern um das Label zu initialisieren?!?

wie müsste ich es denn schreiben, um südDt zu initilisieren?
 

Harry Kane

Top Contributor
soweit ich weiß geht es dabei doch um die Erzeugung schon während dem laden der Klasse
Öhm, nein. static Variablen und Methoden können, entsprechende Modifier (im einfachsten Fall "public") vorausgesetzt, unter Angabe des Klassennamens aufgerufen werden. Eine Instanz (das was mit "new KlassenName()") erzeugt wird, ist dazu nicht notwendig. "Erzeugt" im Sinne von "mit Werten belegt" wird gar nix. Solange du nicht "Gebiet.geb = new JLabel()" schreibst, ist Gebiet.geb null.
Ich muss doch aber die Variablen verändern um das Label zu initialisieren
Das eine hat mit dem anderen nichts zu tun.
wie müsste ich es denn schreiben, um südDt zu initilisieren
südDt = new JLabel();
Das steht zwar in deinem Code, aber im Konstruktor von GamePanel, und davon, dass der aufgrufen wird, ist im Code nichts zu sehen.
 

mOiterei

Mitglied
nach langem hin und her probieren bin ich jetzt dazu gekommen, dass ich die Methode in der Selen Klasse stehen habe. Ich habe festgestellt das ich wirklich total an dem vorbei geschossen bin was ich wollte.

jetzt funktioniert es aber immer noch nicht.

die Methode:

Java:
    private static Icon drawGeb(int x, int y, String land, String gebiet)
    {
        String pfad = "D://eclipse-Workspace/WorldWar/src/Map/" + land + "/" + land + "-" + gebiet + "-0.png";
        Icon image = new ImageIcon(pfad);
       
        return image;   
       
    }

und der Aufruf:

Java:
JLabel dt_n = new JLabel();
        dt_n.setIcon(drawGeb(100,100, "dt", "nord"));

..
 

mOiterei

Mitglied
Naja leider gibt es nicht viel zu beschreiben. es gibt keine Fehlermeldung und nichts. es zeigt mir halt das JLabel nicht an. fehlt mir in der Mathode etwas? oder rufe ich diese falsch auf?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Mit setter-Methode JLabel in einer andern Klasse ändern. Java Basics - Anfänger-Themen 40
D Methoden JButton und JLabel in einer Methode erstellen Java Basics - Anfänger-Themen 5
snipesss [Java] Schriftart und Schriftgröße von JLabel in einer Zeile festlegen? Java Basics - Anfänger-Themen 3
J JLabel gleich in einer Schriftfarbe anzeigen Java Basics - Anfänger-Themen 4
H JLabel aus einer Klasse an eine andere Klasse übergeben Java Basics - Anfänger-Themen 4
J Auf einem JLabel Linien Malen Java Basics - Anfänger-Themen 1
J neues Object (JLabel) vorab zum Layout hinzufügen , Location setzen, etc? Java Basics - Anfänger-Themen 2
J JLabel bzw. Image Icon mit KeyEvent bewgen Java Basics - Anfänger-Themen 9
GoenntHack Java Text von JLabel verändert sich nicht Java Basics - Anfänger-Themen 1
JUNSKI Zeilenumbruch JLabel Java Basics - Anfänger-Themen 1
K Jlabel mit itemlistevent Text gegeben, wird nicht angezeigt Java Basics - Anfänger-Themen 5
S Mit for-Schleife ein 2D JLabel-Array mit veränderbaren Icons erstellen Java Basics - Anfänger-Themen 3
Tom/S JLabel Icon Farbe Java Basics - Anfänger-Themen 2
N Variabel in eine class mit "extends JLabel" übertragen Java Basics - Anfänger-Themen 2
S Kontrollieren, ob ein Jlabel nicht sichtbar ist Java Basics - Anfänger-Themen 6
S Input/Output JLabel verschieben Java Basics - Anfänger-Themen 7
AnnaBauer21 GridBagLayout JLabel weightx: Unterschiedliche Breite mit & ohne Text Java Basics - Anfänger-Themen 6
CptK Interface JLabel bewegt sich nicht sondern teleportiert sich... Java Basics - Anfänger-Themen 3
CptK Methoden JLabel erstellen & verschieben Java Basics - Anfänger-Themen 1
T JLabel hat falsche größe Java Basics - Anfänger-Themen 1
A JLabel mit button drücken verändern Java Basics - Anfänger-Themen 6
CptK JLabel im Array Java Basics - Anfänger-Themen 2
L Threads Mit Threads JLabel ändern! Java Basics - Anfänger-Themen 2
P Auf JLabel zugreifen Java Basics - Anfänger-Themen 12
P Erste Schritte JLabel wird nicht angezeigt Java Basics - Anfänger-Themen 4
W JLabel, Farbe durch Listener ändern Java Basics - Anfänger-Themen 6
D Klassen Wert aus JTextfield in JLabel (andere Klasse) darstellen. Java Basics - Anfänger-Themen 60
J Array in JLabel ausgeben Java Basics - Anfänger-Themen 2
S Variablen JLabel backImagePanel Fehlermeldung Java Basics - Anfänger-Themen 3
J JLabel cannot be resolved Java Basics - Anfänger-Themen 8
S JLabel sichtbar machen/GUI Java Basics - Anfänger-Themen 3
WetWer Animation JLabel Java Basics - Anfänger-Themen 2
W aus Methode auf JLabel zugreifen und Image verändern Java Basics - Anfänger-Themen 1
W JLabel in Main aus Thread verändern. Java Basics - Anfänger-Themen 4
L Variable für JLabel wird nicht erzeugt Java Basics - Anfänger-Themen 6
T Jlabel durch Text in 2 anderen Jlabels sichtbar machen Java Basics - Anfänger-Themen 4
T Objekt in ein JLabel der GUI übergeben Java Basics - Anfänger-Themen 3
S JLabel an Methode übergeben Java Basics - Anfänger-Themen 2
D Ausgabe über JLabel Java Basics - Anfänger-Themen 12
M Erste Schritte Wie speichert und gibt man Arrays aus? (JLabel) Java Basics - Anfänger-Themen 12
M Fangspiel-Probleme (JLabel, Objekt zurücksetzen) Java Basics - Anfänger-Themen 3
C Rechenaufgabe im JLabel ausrechnen Java Basics - Anfänger-Themen 2
J JLabel Icon neu zeichnen Java Basics - Anfänger-Themen 2
Z JLabel Icon ändern Java Basics - Anfänger-Themen 2
Z Vector in jTextField/jLabel darstellen Java Basics - Anfänger-Themen 4
D JLabel ändern in actionperformed Java Basics - Anfänger-Themen 2
V jab ich eclipse verrückt gemacht :D ? array Jpanel, Jlabel Grafik Fehler / Frage Java Basics - Anfänger-Themen 5
W Klassen Fehler bei public void setLabelText(JLabel label, String text) Java Basics - Anfänger-Themen 11
G drawString/ JLabel updaten Java Basics - Anfänger-Themen 1
G mouseDragged auf Jlabel Java Basics - Anfänger-Themen 2
K JLabel zur Laufzeit dynamisch erzeugen Java Basics - Anfänger-Themen 7
M Frage zu JLabel Java Basics - Anfänger-Themen 5
T JLabel-Bilderpfad ändern... Java Basics - Anfänger-Themen 2
T JLabel anzeigen lassen... Java Basics - Anfänger-Themen 6
T Mein String in ein JLabel stecken Java Basics - Anfänger-Themen 2
Sogomn JLabel in anderer Klasse zum JFrame hinzufügen Java Basics - Anfänger-Themen 2
T JLabel zum klicken... Java Basics - Anfänger-Themen 15
W Datentypen String-Ausgabe in jLabel Java Basics - Anfänger-Themen 14
J JLabel Ausgabe Java Basics - Anfänger-Themen 3
B mouseClicked JLabel Array mitteilen Java Basics - Anfänger-Themen 6
L JLabel Icon Größe anpassen Java Basics - Anfänger-Themen 11
A Zeilenumbruch im Jlabel Java Basics - Anfänger-Themen 11
3 JLabel - Text in mehreren Zeilen zentrieren Java Basics - Anfänger-Themen 5
R JLabel imageicon jede Sekunde wechseln Java Basics - Anfänger-Themen 3
G GUI JLabel ersetzen Java Basics - Anfänger-Themen 3
M Zeilenumbruch in JLabel Java Basics - Anfänger-Themen 51
A Bildgröße automatisch auf JLabel Größe konvertieren Java Basics - Anfänger-Themen 9
S Text in einem JLabel nur zum Teil Fett Java Basics - Anfänger-Themen 2
B JLabel Text Formatierung Java Basics - Anfänger-Themen 5
J Bild auf JLabel wird nicht angezeigt Java Basics - Anfänger-Themen 11
S NullPointerException bei zweidimensionalem JLabel-Array Java Basics - Anfänger-Themen 4
T JLabel richtig anordnen? wie gehts? Java Basics - Anfänger-Themen 9
L GridLayout mit JLabel-Array füllen Java Basics - Anfänger-Themen 12
SexyPenny90 JLabel Text und Icon untereinander verwenden Java Basics - Anfänger-Themen 3
B JLabel löschen/überschreiben Java Basics - Anfänger-Themen 10
P Netbeans Platform - JLabel und JPanel setLocation Problem Java Basics - Anfänger-Themen 2
A JLabel erst auf null dann auf einen Wert setzen Java Basics - Anfänger-Themen 7
F JLabel-Background Java Basics - Anfänger-Themen 7
T JLabel Farbe ändern, Problem Java Basics - Anfänger-Themen 2
T JLabel mit Text und Bild Java Basics - Anfänger-Themen 3
C JLabel markieren Java Basics - Anfänger-Themen 2
M BeanBinding Jlist an Jlabel Java Basics - Anfänger-Themen 2
M OOP JLabel werden nicht korrekt eingefärbt Java Basics - Anfänger-Themen 6
P JLabel prüfen,... Java Basics - Anfänger-Themen 6
M JLabel auf JPanel positionieren Java Basics - Anfänger-Themen 8
P JLabel auf JFrame - Schrift vergrößern Java Basics - Anfänger-Themen 2
Z Fonts in einem JLabel Java Basics - Anfänger-Themen 7
MonsterBit setText bei JLabel Java Basics - Anfänger-Themen 16
K Zufällige Auswahl innerhalb eines Arrays und Arrays aus JLabel füllen Java Basics - Anfänger-Themen 32
D JPanel + ein JLabel Java Basics - Anfänger-Themen 8
M JLabel attribut wert zuweisen Java Basics - Anfänger-Themen 2
E JLabel deaktivieren ohne Veränderung der Darstellung Java Basics - Anfänger-Themen 2
0 Icon in JLabel Java Basics - Anfänger-Themen 6
JAVAnnik variable erhöhen bei Klick auf JLabel Java Basics - Anfänger-Themen 3
T JLabel wird nicht gesetzt in Schleife Java Basics - Anfänger-Themen 9
T aus stateChanged ein JLabel adden Java Basics - Anfänger-Themen 6
P HTML <input> Feld in einem JLabel auslesen Java Basics - Anfänger-Themen 4
C Inhalt eines Strings in JLabel ausgeben? Java Basics - Anfänger-Themen 21
T JLabel durch ActionListener ändern Java Basics - Anfänger-Themen 4
L Rahmen bei jLabel Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben