制作标签的任何图像(GIF等)

问题描述:

我想要做的是:制作标签的任何图像(GIF等)

  • 加载图像,它是一个GIF,JPEG等..从URL来(但也仅仅是我没有到达,但它必须与其他人一起工作的gif)

  • 将它放入IconImage的JLabel中(尽管它适合我,如果它不在标签的图标中,只要它在标签中)

  • 通过将标签的所有空间进行自动调整大小,但保持其比例

  • 而且finaly使this.add(标签)

我已经与管理任何类型的图像做,但GIF文件是冻结

我寻找更多的解决方案的第一个图像但找不到为我工作的任何东西。

所以,如果有人能够从一开始就帮助我。如果需要,我拥有网址并可以共享。

为例我的代码

//这工作,但图像没有调整

JLabel label = new JLabel(); label.setIcon(new ImageIcon(new URL(image.getPath()))); this.add(label);

//图像不会出现

URL url = new URL(image.getPath()); JLabel label = new JLabel(); java.awt.Image img = Toolkit.getDefaultToolkit().getImage(url); img = this.scaleImage(img,Toolkit.getDefaultToolkit().getScreenSize().width/6); label.setIcon(new ImageIcon(img));

+0

你可以发布你到目前为止尝试过的吗? – Rob

+0

可能重复:https://*.com/questions/10622303/loading-animated-gif-in-jlabel-weirdness – cello

+0

//这工作,但图像没有调整 '' JLabel的标签=新的JLabel(); \t \t \t \t label.setIcon(new ImageIcon(new URL(image.getPath()))); \t \t \t \t this.add(标签);' \t \t \t \t \t \t \t //图像不会出现
\t \t \t \t'网址URL =新的URL(image.getPath()); \t \t JLabel label = new JLabel(); \t \t java.awt.Image img = Toolkit.getDefaultToolkit()。getImage(url); \t \t img = this.scaleImage(img,Toolkit.getDefaultToolkit()。getScreenSize()。width/6); \t \t \t \t label.setIcon(new ImageIcon(img)); \t \t \t \t这个。添加(标签);' @Rob –

试试这个,你可能需要把它放在一个试图抓住

BufferedImage image = ImageIO.read(new URL(url)); 
JLabel label = new JLabel(new ImageIcon(image)); 
+0

@RSDing 我得到一个错误 javax.imageio.IIOException:无法从URL获取输入流! \t at javax.imageio.ImageIO.read(ImageIO.java:1395) –

+0

您使用的是哪个URL – Dinh

+0

啊不,我刚刚重新启动了它的工作...总之问题在于GIF和其他“视频”格式被冻结在第一帧上,并且如果格式是.webm,则返回null –