swing Java:动画GIF自动部分透明
我想使用JavaSwing显示带有动画GIF的等待对话框,但GIF显示不正确
代码示例:
final JDialog progressDialog = new JDialog(new Frame(), "...", true);
URL url = getClass().getResource("wait.gif");
Icon icon = new ImageIcon(url);
JLabel label = new JLabel(icon);
progressDialog.getContentPane().setBackground(new Color (0, 200, 200));
progressDialog.getContentPane().add(label);
progressDialog.pack();
progressDialog.setVisible(true);
原始GIF在这里:
但是Java输出如下所示:
有什么想法吗
# 1 楼答案
当你遇到这些类型的问题时,你需要开始处理
disposalMethod
帧我用gif检查了一些检查代码,发现
disposalMethod
被设置为RESTORE_TO_BACKGROUND
所以,基本上,我用你的gif并运行了下面的代码,它创建了一个新的gif,其中
disposalMethod
的none
所以你的原始图像在顶部,“固定”图像在底部
最后是“固定”gif
以上是基于Mirroring animated gif on load in Java - ImageIcon的调查