制作标签的任何图像(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));
试试这个,你可能需要把它放在一个试图抓住
BufferedImage image = ImageIO.read(new URL(url));
JLabel label = new JLabel(new ImageIcon(image));
@RSDing 我得到一个错误 javax.imageio.IIOException:无法从URL获取输入流! \t at javax.imageio.ImageIO.read(ImageIO.java:1395) –
您使用的是哪个URL – Dinh
啊不,我刚刚重新启动了它的工作...总之问题在于GIF和其他“视频”格式被冻结在第一帧上,并且如果格式是.webm,则返回null –
你可以发布你到目前为止尝试过的吗? – Rob
可能重复:https://*.com/questions/10622303/loading-animated-gif-in-jlabel-weirdness – cello
//这工作,但图像没有调整 '' 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 –