2016-09-26 463 views
0

所以我有這樣的代碼Java的圖標無法正常工作

import javax.swing.*; 


public class pictest { 

public static void main(String[] args) { 
    JFrame frame = new JFrame("Label Example"); 
    ImageIcon mine = new ImageIcon("‪C:/Users/Eric/Desktop/mine.jpg"); 
    JLabel pic = new JLabel(mine); 
    frame.add(pic); 
    frame.setSize(300,250); 
    frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); 
    frame.setVisible(true); 

    JFrame framee = new JFrame("Label Example"); 
    ImageIcon minee = new ImageIcon("C:/Users/Eric/Desktop/mine.jpg"); 
    JLabel pice = new JLabel(minee); 
    framee.add(pice); 
    framee.setSize(300,250); 
    framee.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); 
    framee.setVisible(true); 

} 

} 

所以,當我運行的代碼,我得到這個:

http://imgur.com/a/YF9zt

(左PIC是頂端部分的代碼,右邊是從底部的代碼)

據我可以告訴代碼是完全一樣的(除了變量名稱),我不明白爲什麼圖片不會顯示在一個在左邊,這是一個問題,我需要重新安裝的東西,或者是有代碼中的東西,我只是錯了。如果有人可以重新格式化這篇文章看起來很正確,我將不勝感激,對不起,我不使用堆棧溢出,但我越來越沮喪。)

+1

'如果有人可以重新格式化這篇文章' - 你需要做的就是編輯你的問題並選擇代碼,然後點擊「{}」按鈕。 – camickr

+1

僅在[事件派發線程](http://docs.oracle.com/javase/tutorial/uiswing/concurrency/initial.html)上構建和操作Swing GUI對象_only_;直到你解決這個問題,任何事情都會發生 – trashgod

+1

它適合我。 Mac OS X,Java 7.查看如果最小化左側窗口並將其還原,會發生什麼情況。圖像是否被加載? – anacron

回答

0

當我嘗試保存您的代碼時,出現以下錯誤:

enter image description here

的圖片顯示,只有當我複製
ImageIcon minee = new ImageIcon("C:/Users/Eric/Desktop/mine.jpg");

,粘貼和編輯它以

頂部框架
ImageIcon mine = new ImageIcon("C:/Users/Eric/Desktop/mine.jpg"); 

我想你在這一行中使用了一些未被識別的字符。

+0

我以爲這是什麼造成這種情況,但我不確定,我最初從圖像的屬性頁面複製了路徑,該路徑必須包含無法識別的文本。輸入路徑後,雖然它的工作。我試圖找出哪個角色被搞砸了,但它肯定不止一個,因爲我無法將其縮小到一個角色。無論如何謝謝 – Joking313

+0

很高興幫助。如果您以前沒有看到過,請參閱http://stackoverflow.com/help/someone-answers。 – c0der