Hallo Leute!
Ich will eine Art gerisches Menü bauen. Im Grund eigendlich nur ein JPanel mit einem Hintergrundbild und JLabels drauf.
Leider werden die JLabels nicht angezeigt. Wenn ich allerdings aus dem JLabel ein normales Label (AWT) mache, wird es wunderbar über die Grafik "gemalt". Die Schrift sieht zwar sehr verzogen aus, aber immerhin wird es angezeigt.
Hier mal der Quellcode meiner Klasse MenuFrame
Habe keine Ahnung wo der Fehler liegen könnte. Ich beschäftige mich erst seit kurzem mit Swing und AWT und schätze dass ich einfach irgendwas sau blödes übersehen hab.
Grüße und schon mal vorab Danke für eure Hilfe!!
Ich will eine Art gerisches Menü bauen. Im Grund eigendlich nur ein JPanel mit einem Hintergrundbild und JLabels drauf.
Leider werden die JLabels nicht angezeigt. Wenn ich allerdings aus dem JLabel ein normales Label (AWT) mache, wird es wunderbar über die Grafik "gemalt". Die Schrift sieht zwar sehr verzogen aus, aber immerhin wird es angezeigt.
Hier mal der Quellcode meiner Klasse MenuFrame
Code:
import javax.swing.*;
import java.awt.*;
import java.util.*;
public class MenuFrame extends JPanel {
// 0.0 Variablendeklaration
private Image backgroundImage; // Nimmt das Hintergrundbild auf
// 0.1 Konstanten deklarieren
private final Font STDFONT = new Font("Luxi Sans", Font.PLAIN, 10);
private final Color STDBACKCOL = new Color(215, 222, 248);
private final Color STDHEADLINESPCOL = new Color(236, 240, 252);
private final Color STDHEADLINECOL = new Color(34, 90, 201);
private final Color STDCOL = Color.BLACK;
// 1.1 Konstruktor
public MenuFrame() {
// Konstruktor der Superklasse
super();
// Layoutmanager setzen
setLayout(null);
// Bild laden und auf Laden warten
backgroundImage = getToolkit().createImage("pics/background.jpg");
MediaTracker mt = new MediaTracker(this);
mt.addImage(backgroundImage, 0);
try { mt.waitForAll(); }
catch (InterruptedException e) {}
// Hauptmenu darstellen
makeMainMenu(100);
}
// 1.2 Hilfsmethoden fuer den Konstruktor
// 1.2.1 Methode, die das Hauptmenu erstellt
private void makeMainMenu(int top) {
// Lokale Variablen deklarieren
JLabel label;
// Label fuer Programmstatus
label = new JLabel("Programmstatus");
label.setFont(STDFONT);
label.setForeground(STDCOL);
label.setBackground(STDBACKCOL);
label.setSize(200, 15);
label.setLocation(30, top);
add(label);
}
public void paint(Graphics g) {
// Bild zeichnen
g.drawImage(backgroundImage, 0, 0, this);
}
}
Habe keine Ahnung wo der Fehler liegen könnte. Ich beschäftige mich erst seit kurzem mit Swing und AWT und schätze dass ich einfach irgendwas sau blödes übersehen hab.
Grüße und schon mal vorab Danke für eure Hilfe!!