Hallo,
mein Programm soll ein Rechteck mit einem Bild anzeigen, vor dem ein halb-transparente weiße Fläche liegt.
Beim Start wird aber nur die weiße Fläche angezeigt, das Bild dahinter sieht man erst, wenn man die Fenstergröße verändert hat. Woran kann das liegen?
Hier ist der Code:
mein Programm soll ein Rechteck mit einem Bild anzeigen, vor dem ein halb-transparente weiße Fläche liegt.
Beim Start wird aber nur die weiße Fläche angezeigt, das Bild dahinter sieht man erst, wenn man die Fenstergröße verändert hat. Woran kann das liegen?
Hier ist der Code:
Code:
import java.awt.*;
import java.awt.geom.*;
import javax.swing.*;
public class ZeichenB extends JFrame {
Image img = Toolkit.getDefaultToolkit().getImage("D:\\Bilder\\IMG_0096.JPG");
public ZeichenB() {
Zeichnung z = new Zeichnung();
getContentPane().setLayout(null);
z.setBounds(10, 40, 100, 100);
getContentPane().add(z);
}
public static void main(String[] args) {
ZeichenB zb = new ZeichenB();
zb.pack();
zb.setSize(200, 200);
zb.show();
}
public class Zeichnung extends JPanel {
public Zeichnung(){
}
public void paintComponent(Graphics g){
Graphics2D g2 = (Graphics2D)g;
g2.drawImage(img, 0, 0, null);
AlphaComposite comp = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.1f);
g2.setComposite(comp);
g2.setColor(Color.WHITE);
Rectangle2D.Double hg = new Rectangle2D.Double(0, 0, 100, 100);
g2.fill(hg);
}
}
}