Hallo Leude
Ich hab folgendes Problem: Ich will ein Auf ein Hintergrundbild einige buttons und Labels anordnen, dazu möcht ich halt einige Panels auf mein Hintergrundbild setzen die Transparent sind und nur die Labels die auf dem Panel drauf liegen anzeigen. Im Moment zeigt er mir aber nur zwischen den Labels einen grauen Hintergrund an der über meinem Hintergrundbild drauf liegt.
Ich hab folgendes Problem: Ich will ein Auf ein Hintergrundbild einige buttons und Labels anordnen, dazu möcht ich halt einige Panels auf mein Hintergrundbild setzen die Transparent sind und nur die Labels die auf dem Panel drauf liegen anzeigen. Im Moment zeigt er mir aber nur zwischen den Labels einen grauen Hintergrund an der über meinem Hintergrundbild drauf liegt.
Java:
public class Main {
public static void main(String[] args) {
Icon ic = new ImageIcon("bilder/voll.jpg");
Icon is = new ImageIcon("bilder/exit.jpg");
ImagePanel panel = new ImagePanel(new ImageIcon("bilder/bg.jpg").getImage());
JFrame frame = new JFrame("Mein Testprogramm");
frame.getContentPane().add(panel);
frame.pack();
frame.setVisible(true);
frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
frame.setLocation(200, 100);
JPanel x = new JPanel();
JLabel L = new JLabel();
JLabel L2 = new JLabel();
x.setOpaque(false);
x.add(L);
x.add(L2);
x.setLayout(new GridLayout(0,2));
L.setIcon(ic);
L2.setIcon(is);
frame.add(x, BorderLayout.SOUTH);
}
}
class ImagePanel extends JPanel {
private Image img;
public ImagePanel(String img) {
this(new ImageIcon(img).getImage());
}
public ImagePanel(Image img) {
this.img = img;
Dimension size = new Dimension(img.getWidth(null), img.getHeight(null));
setPreferredSize(size);
setMinimumSize(size);
setMaximumSize(size);
setSize(size);
setLayout(null);
}
public void paintComponent(Graphics g) {
g.drawImage(img, 0, 0, null);
}
}