JPanel - BackgroundImage
Christopher
- java
Hallo,
wie kann ich ein JPanel mit einem Background-Image versehen?
Sobald ich Komponenten hinzufuege, wird das Bild nicht mehr
angezeigt.
Als Layout nutze ich das JGoodies Formlayout.
Besten Dank
Christopher
private JPanel GetContent()
{
JTextField tfUser = new JTextField();
JTextField tfPwd = new JTextField();
JLabel lblUser = new JLabel("Username");
JLabel lblPwd = new JLabel("Password");
FormLayout layout = new FormLayout(
"pref, 4dlu, 50dlu, 4dlu, min", // columns
"pref, 2dlu, pref, 2dlu, pref"); // rows
layout.setRowGroups(new int[][]{{1, 3, 5}});
JPanel panel = new JPanel(layout){
protected void paintComponent(Graphics g)
{
// Dispaly image at at full size
g.drawImage(icon.getImage(), 0, 0, null);
super.paintComponent(g);
}
};;
CellConstraints cc = new CellConstraints();
panel.add(lblUser, cc.xy (1, 1));
// panel.add(tfUser, cc.xyw(3, 1, 3));
// panel.add(lblPwd, cc.xy (1, 3));
// panel.add(tfPwd, cc.xy (3, 3));
panel.setOpaque( false );
return panel;
}
Hallo,
...
JPanel panel = new JPanel(layout){
protected void paintComponent(Graphics g)
{
// Dispaly image at at full size
g.drawImage(icon.getImage(), 0, 0, null);
super.paintComponent(g);
}
};
...
Hast Du das mal andersrum probiert, also erst die paintComponent-Methode der Superklasse (JPanel) aufrufen und dann das Bild in den graphics-context zeichnen?
viele Grüße
Axel
Hallo Axel,
Hast Du das mal andersrum probiert, also erst die paintComponent-Methode der Superklasse (JPanel) aufrufen und dann das Bild in den graphics-context zeichnen?
ooOO0 Jaa!
Super. Besten Dank ;-)
Christopher