當我嘗試創建JLabel時,它完美地顯示文本,並且放置在容器內,但如果我嘗試將圖像添加到標籤,則不會顯示任何內容。如何使用JLabels?
ImageIcon icon = new ImageIcon("../media/link_walk.png", "hh");
JLabel j = new JLabel("hello");
j.setIcon(icon);
p.add(j);
當我嘗試創建JLabel時,它完美地顯示文本,並且放置在容器內,但如果我嘗試將圖像添加到標籤,則不會顯示任何內容。如何使用JLabels?
ImageIcon icon = new ImageIcon("../media/link_walk.png", "hh");
JLabel j = new JLabel("hello");
j.setIcon(icon);
p.add(j);
的JLabel不是不透明默認情況下,除非你讓他們通過setOpaque(真)的不透明使背景色彩的變化不會被看到。此外,JLabel的首選大小將取決於它所包含的文本。
如果你的應用程序。在Jar文件中,圖像是應用程序資源,它也將位於Jar文件中。
ImageIcon
構造函數接受String
假設String
代表文件路徑/名稱。 A File
對象無法建立到Jar中的資源。對於Jar中的資源,有必要通過URL
訪問它們。
爲了得到一個URL
的東西在一個罐子裏,使用類似..
URL urlToImage = this.getClass().getResource("/media/link_walk.png");
// Check the URL!
System.out.println("urlToImage is " + urlToImage);
然後使用ImageIcon
構造函數接受一個URL
。
面板p是否有佈局管理器? – janhink 2011-04-08 20:15:39
可能的重複[如何設置JLabel的背景顏色?](http://stackoverflow.com/questions/2380314/how-do-i-set-a-jlabels-background-color) – trashgod 2011-04-08 20:17:32
是的,這些東西幫助與背景顏色,但它仍然拒絕顯示圖像。 – 2011-04-08 20:18:31