Archiv verlassen und diese Seite im Standarddesign anzeigen : JPanel: hintergrundbild laden
neonknight
18-06-2003, 14:16
hallo
ich steh mal wieder auf dem schlauch...
trotzdem hat diese frage eher niedrige priorität, da es sich nur um eine kosmetische sache handelt ;)
wie kann ich bei einem JPanel eine grafik (z.b. jpg) als hintergrundbild laden und dann die anderen elemente (buttons, textfelder, labels etc) darüber platzieren?
ich verwende zur positionierung das gridbaglayout.
weiss ich jetzt auf die schnelle auch nicht.
aber ich empfehle dir, unter java.sun.com zu suchen. hier gibts die search engine dazu: http://java.sun.com/j2se/1.4.1/search.html
such mal nach"JPanel". vielleich kann dir die api weiterhelfen.
mein tip: vielleicht brauchts du da einen layoutmanager???
jamba
SeeksTheMoon
25-06-2003, 00:54
die Swing Komponenten bestehen aus mehreren Layern. Wenn Du einen Button addest, dann machst Du das ja i.d.R auf jFrame.getContentPane()
Zusätzlich gibt es noch GlassPane, LayeredPane und RootPane und den Frame selber.
Siehe hier: http://java.sun.com/docs/books/tutorial/uiswing/components/toplevel.html#contentpane
oder besser hier:
http://java.sun.com/docs/books/tutorial/uiswing/components/rootpane.html
Du musst also das Bild zu einem tieferen Pane hinzufügen. Ich habs noch nicht gemacht, aber auf die schnelle sehe ich keinen Grund, der dagegen spricht.
Image Bild = Toolkit.getImage("Pfad");
ImageIcon Icon = new ImageIcon(Bild);
Label l = new Label(Image Icon);
JPane.add(Label);
Irgendwie so.
MfG Bischi
SeeksTheMoon: Ja, so dürte es klappen! Werde es bei mir auch mal ausprobieren ;-)
Mfg
Also: In einem JPanel kannst du mehrere Sachen übereinanderlegen. Ein ImageIcon hat nicht unbedingt die Grösse eines Icons, sondern ist so gross, wie das Bild, aus welchem es erstellt wurde. Also musst du nur ein Bild erstellen, das genügend gross ist, (und das Label ganz am Schluss erst im Code einfügen (nachdem alle darüberliegenden Elemente gezeichnet wurden)) und schon hast du auf einfache Weise ein Hintergrundbild, ohne grossen Aufwand zu betreiben (Ich habs bis jetzt immer so gemacht und es hat immer so funktioniert...)
MfG Bischi
Powered by vBulletin® Version 4.2.5 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.