# JFrame setBackground?



## Guest (29. Jan 2009)

Hallo zusammen,

ich kann in einem JFrame mit setBackground(Color) die Hintergrundfarbe ändern. Wie sieht das aber aus, wenn ich ein Hintergrundbild nutzen möchte?

Hat da jemand einen Tip für mich?

Danke


----------



## SlaterB (29. Jan 2009)

JPanel macht sich da besser
->
http://www.google.de/search?hl=de&q=JPanel+Hintergrundbild&meta=
->
http://www.tutorials.de/forum/swing-java2d-3d-swt-jface/258537-jpanel-hintergrundbild.html


----------



## L-ectron-X (29. Jan 2009)

Hier ist doch auch schon eine Menge zu finden: http://www.java-forum.org/de/suche=Hintergrundbild+JFrame


----------



## Gast (29. Jan 2009)

Asche über mein Haupt!

Danke,

ich habe eine Möglichkeit gefunden:

MyPanel panel = new MyPanel(Toolkit.getDefaultToolkit().getImage("stars.png"));

Allerdings wie sage ich dem Panel, dass er das Bild eben auf die gesamte Fläche aufziehen soll? Das Bild ist jetzt 128x128 er soll es aber an die Größe des Panels anpassen also stauchen.


----------



## Tjong (4. Feb 2009)

Gast hat gesagt.:
			
		

> Allerdings wie sage ich dem Panel, dass er das Bild eben auf die gesamte Fläche aufziehen soll? Das Bild ist jetzt 128x128 er soll es aber an die Größe des Panels anpassen also stauchen.



Genau das Problem habe ich auch :/
Das Hintergrundbild ist bei manchen Auslösungen zu niedrig und bei manchen zu groß sodass man ein Logo was rechts unten ist nicht mehr sieht ._.
Da müsste es auch was von ratiopharm äähh, JPanel oder so was geben oder?


----------



## Quaxli (5. Feb 2009)

Nee, aber was von Image ;-)
Die Klasse Image hat die Methdoe getScaledInstance(..) - die könnte weiter helfen. Ich weiß aber nicht, wie das Ergebnis aussieht, weil ich die noch nie benutzt habe.
Ich passe da lieber das Bild und JPanel vorher von Hand aneinander an und verhindere zur Not, daß die Größe geändert werden kann - das hängt natürlich u. a. davon ab, was man vorhat.
Anderfalls müßte man über entsprechende Listener bei jeder Größenänderung ein neues Bild auskaspern lassen.


----------



## pmias (5. Feb 2009)

Hallo

1. Hintergrundfarbe JFrame
Kann man setzen, muß man aber nicht, wenn man das ContentPane entsprechend konfiguriert. Allerdings kann es je nach Startgeschwindigkeit des Programms doch sinnvoll sein, eine Farbe zu setzen. Bis das ContentPane sich endlich initialisiert hat, wird nämlich die Hintergrundfarbe des JFrame angezeigt -> Hellgrau.

2. Hintergrundbild "stretchen" an Panelgröße
javadoc

Grüße


----------

