JLayeredPaneに複数のPNG画像を重ねて表示しようとしています。
画像を含むJLabelを生成し、それをJLayeredPaneに追加するための現在のコードは次のとおりです。
BufferedImage im = ImageIO.read(new File(fname));
JLabel uLabel = createLabelForImage(im);
mapLayeredPane.add(uLabel, new Integer(zIndex++), 1);
そして、createLabelForImage()メソッド:
protected JLabel createLabelForImage(BufferedImage im) {
JLabel label = new JLabel(new ImageIcon(im));
label.setVerticalAlignment(JLabel.TOP);
label.setHorizontalAlignment(JLabel.CENTER);
label.setOpaque(true);
label.setBounds(0, 0, im.getWidth(), im.getHeight());
return label;
}
私が得たのは、オブジェクトが正しく重なっているのに、PNG画像の透明な背景が一種の白灰色に置き換えられていることです。
ImageIconに問題がありますか?JLayeredPaneを使用しますか?たぶん私はlabel.setBakground(sort_of_transparency_code)のようなものまたはそのようなものを設定する必要がありますか?
前もって感謝します :)