Discussion:
Hintergrundbild für JFrame/JPanel/...
(zu alt für eine Antwort)
hermann krauß
2007-07-23 11:54:44 UTC
Permalink
Hallo miteinander,
wie krieg ich ein .png als Hintergrundbild für ein JFrame/JPanel/... ?
habs mit dem JFrame.setImageIcon versucht, aber der tuts nicht.
-> der setzt nur das Icon für die Taskleiste

Danke!
O. Heidan
2007-07-23 12:25:50 UTC
Permalink
Post by hermann krauß
Hallo miteinander,
wie krieg ich ein .png als Hintergrundbild für ein JFrame/JPanel/... ?
habs mit dem JFrame.setImageIcon versucht, aber der tuts nicht.
-> der setzt nur das Icon für die Taskleiste
Danke!
Meinst Du so eine Art Wasserzeichen?

Das mache ich immer so:
(hier wird eine TextPane in einer ScrollPane mit Wasserzeichen innerhalb eines
Panels dargestellt; this ist das JPanel)

[...]
textPane.setOpaque(false);

JLabel lbl_Wasserzeichen = new JLabel();
// Laden des Images
ImageIcon image1 = ResourceAccess.getImageIcon("wasserzeichen.png");
lbl_Wasserzeichen.setIcon(image1);
lbl_Wasserzeichen.setOpaque(false);

this.setLayout(gridBagLayout1);
this.setBackground(Color.white);

JScrollPane scroller = new JScrollPane();
scroller.setOpaque(false);
scroller.getViewport().setOpaque(false);
scroller.getViewport().add(textPane, null);

this.add(scroller, new GridBagConstraints(0, 0, 1, 1, 1.0, 1.0,
GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0));
this.add(lbl_Wasserzeichen, new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0,
GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0,
0));
[...]

Hoffe, es hilft.

Grüße,
Oliver
hermann krauß
2007-07-23 12:39:23 UTC
Permalink
Post by O. Heidan
Post by hermann krauß
Hallo miteinander,
wie krieg ich ein .png als Hintergrundbild für ein JFrame/JPanel/... ?
habs mit dem JFrame.setImageIcon versucht, aber der tuts nicht.
-> der setzt nur das Icon für die Taskleiste
Danke!
Meinst Du so eine Art Wasserzeichen?
ich meinte ein Hintergrundbild auf der ganzen Fläche
- hinter irgendwelchen Components

ist das mit deiner Methode möglich ?

...
Post by O. Heidan
Hoffe, es hilft.
Grüße,
Oliver
Danke!
Hermann
O. Heidan
2007-07-23 12:53:50 UTC
Permalink
Post by hermann krauß
Post by O. Heidan
Meinst Du so eine Art Wasserzeichen?
ich meinte ein Hintergrundbild auf der ganzen Fläche
- hinter irgendwelchen Components
ist das mit deiner Methode möglich ?
Ich meine schon.
Wenn Du die SrollPane/TextPane durch ein durchsichtiges Panel
ersetzt, kannst Du darauf Deine Componenten positionieren.
(Die Eigenschaft setOpaque(false) ist dabei wichtig)

Probier es einfach mal aus ;-)

Grüße,
Oliver
hermann krauß
2007-07-23 14:10:53 UTC
Permalink
Post by O. Heidan
Post by hermann krauß
Post by O. Heidan
Meinst Du so eine Art Wasserzeichen?
ich meinte ein Hintergrundbild auf der ganzen Fläche
- hinter irgendwelchen Components
ist das mit deiner Methode möglich ?
Ich meine schon.
Wenn Du die SrollPane/TextPane durch ein durchsichtiges Panel
ersetzt, kannst Du darauf Deine Componenten positionieren.
(Die Eigenschaft setOpaque(false) ist dabei wichtig)
Probier es einfach mal aus ;-)
Grüße,
Oliver
Hallo Oliver,
hab inzwischen rumprobiert.
Der Trick liegt im GridBagLayout (möglichst alles auf 0 setzen),
dann wird das Label zum Hintergrund.
-> hab ich aus deinem Code entnommen - DANKE!

Frage: wie kann man beim GridBag die Spaltenbreiten beeinflussen

Übrigens arbeite ich mit dem VisualEditor-Plugin
- ist zu empfehlen, aber gewöhnungsbedürftig!

Hermann
O. Heidan
2007-07-23 14:50:58 UTC
Permalink
Post by hermann krauß
hab inzwischen rumprobiert.
Der Trick liegt im GridBagLayout (möglichst alles auf 0 setzen),
dann wird das Label zum Hintergrund.
-> hab ich aus deinem Code entnommen - DANKE!
Bitte, gerne!
Post by hermann krauß
Frage: wie kann man beim GridBag die Spaltenbreiten beeinflussen
Das Thema GridbagLayout ist recht komplex.
Ich würde mal ein wenig mit dem Customize-Layout-Dialog des VE
rumspielen. Insbesondere mit den Weight-X/Y Parametern
kannst Du die relative Größe der Componenten zueinander beeinflussen.

Mehr helfen kann ich leider nicht, schließlich ist Siemens
ein Mitbewerber von uns ;-)
Post by hermann krauß
Übrigens arbeite ich mit dem VisualEditor-Plugin
- ist zu empfehlen, aber gewöhnungsbedürftig!
Ja, benutze ich auch. Ich vermisse jedoch ein wenig
dem JBuidler-GUI-Builder. Der war meiner Meinung
nach ein wenig komfortabler...
Dafür ist der VE kostenoptimiert.


Grüße,
Oliver
hermann krauß
2007-07-24 08:55:16 UTC
Permalink
Moin!
Post by O. Heidan
Post by hermann krauß
Frage: wie kann man beim GridBag die Spaltenbreiten beeinflussen
Das Thema GridbagLayout ist recht komplex.
Ich würde mal ein wenig mit dem Customize-Layout-Dialog des VE
rumspielen. Insbesondere mit den Weight-X/Y Parametern
kannst Du die relative Größe der Componenten zueinander beeinflussen.
Danke - das hilft!

Hermann

Loading...