0
JLayeredPaneに複数のPNG画像を重ねて表示しようとしています。ここでJLayeredPane上の透明なJLabels
は、画像を含むとのJLayeredPaneに追加するJLabelを生成するための現在のコードです:
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)なんかそんなものを設定しなければならないのでしょうか?事前に
感謝:)
右参照、不透明すべきではない、それはそれでした! JLabelsが初めて表示されなかったので、setOpaque()はテスト中にここに置かれました...私はこの行を忘れていました...今はるかに良くなりました。どうもありがとうございました :) 。 – Undo