Label mit Hintergrundbild erzuegen Wer hat eine Idee?

jackisback

Erfahrenes Mitglied
Hallo,
Ich möchte ein Label mit einem Hintergrundbild erzeugen aber leider Hab ich keine Ahnung wie. Hat das jemand schon mal probiert?

Wenn ja wie habt ihr das gemacht?
 
Hallo,

Willst du ein Hintergrundbild für die ganze Anwendung setzen? Wenn ja, dann nutze bitte die Forensuche.

Wenn du nur ein Icon auf ein JLabel packen möchtest, dann schau dir bitte mal die Konstruktoren der Klasse an.

MFG

Sascha
 
Nein ich möchte ein Label mit Hintergrundbild und darüber einen Text legen und vor dem Text ein Icon. Die Forensuche habe ich schon versucht aber nicht hilfreiches gefunden.
 
Wenn ich das jetzt richtig verstanden habe, möchtest du normal ein Icon setzen und Text setzen. Zusätzlich möchtest du dann noch ein Hintergrundbild auf dem Icon.

Dann musst du die Paint-Methode überschreiben. Such einfach mal hier im Forum, wie man bei einem JFrame ein Hintergrundbild setzt. So musst du das dann bei dem JLable machen.

MFG

Sascha
 
Nein ich möchte ein Hintergrund auf bzw. in dem Label, da ich vorhabe viele Labels mit verschiedenem Text und Icon zu erzeugen.

Ein Bild sagt mehr als tausend Worte.
 

Anhänge

  • Label.jpg
    Label.jpg
    1,7 KB · Aufrufe: 57
Das ist doch genau das was ich gesagt hab.
Dein label hat ein Hintergrundbild von dir gesetzt. Dann willst du noch ein Icon und Text drauf packen.

Dann musst du das machen, was ich oben gesagt hab.

MFG

Sascha
 
OK das hat nur zum Teil geklappt, den Hintergrund habe ich aber dieser liegt jetzt über dem Text und dem Icon.
Wie ist den die Zeichnen reichenfolge, etwa wer zuerst kommt malt zuletzt, also ganz oben auf der Ebene oder woran liegt das?


Code:
public class BackGroundButton extends JButton{
	
	Image img = null;
	
	
	BackGroundButton(String imagefile, String name) {
		
		this.setText(name);
		
		if (imagefile != null) {
			MediaTracker mt = new MediaTracker(this);
			img = Toolkit.getDefaultToolkit().getImage(imagefile);
			mt.addImage(img, 0);
			try {
				mt.waitForAll();
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		}
	}
	
	protected void paintComponent(Graphics g) {
		super.paintComponent(g);
		g.drawImage(img,0,0,this.getWidth(),this.getHeight(),this);
	}
	
	
}
 
Einfach die Aufrufe in der paintComponent umdrehen.
Das hättest du aber auch ausprobieren können. :)

MFG

Sascha
 
Entschuldige, aber ich habe erst vor zwei Tagen überhaupt mit Swing bzw. Grafischen Oberflächen angefangen.
Daher bedanke ich mich hier für deine ausgiebige Hilfe.
Jetzt aber mal wieder zum Thema das mit dem Umdrehen habe ich gemacht und jetzt
ist der Hintergrund nicht mehr zu sehen.

Ich poste mal hier beide Fälle als Bild, vieleicht kannst du damit mehr anfangen.
 

Anhänge

  • Unbenannt1.jpg
    Unbenannt1.jpg
    71,7 KB · Aufrufe: 20
  • Unbenannt2.jpg
    Unbenannt2.jpg
    60 KB · Aufrufe: 20
Zurück