2017-10-05 59 views
0

我想要做的是:製作標籤的任何圖像(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://stackoverflow.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 –

回答

0

試試這個,你可能需要把它放在一個試圖抓住

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 –