【发布时间】:2012-05-12 09:13:03
【问题描述】:
我正在尝试在重叠的 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) 之类的东西?
提前谢谢:)
【问题讨论】:
标签: swing png jlabel bufferedimage jlayeredpane