是否可以将多个图片添加到单个JPanel
并使用顶部Image
的透明度频道查看基础Image
?< / p>
答案 0 :(得分:-2)
您可以,但如果您创建自己的JPanel
扩展JPanel
类版本,则会更容易。创建JPanel
的子类并覆盖paint方法。在paint
方法中,只需在另一个图像上绘制一个图像。
public class MiPanel extends JPanel {
List<Image> images;
...
void addIMage( Image im) {
images.add( im)
}
@Override
public void paint( Graphics g) {
Graphics2D g2d = (Graphics2D)g;
...
for ( Image im :images) {
g2d.drawImage( im, 0,0, null);
}
...
}
创建List
以存储图像和方法以将图像添加到列表中。然后,在paint
方法中,绘制所有图像。当然,如果图像具有透明度,您将能够看到“下”图像。如果您动态创建图像,请记住将Color
与alpha通道一起使用。如果您从文件加载图像,我建议您使用PNG。