[英]How do I use JLabels?
當我嘗試創建一個JLabel時,它會完美地顯示文本並在容器中正確放置,但如果我嘗試將圖像添加到標簽中,則不會顯示任何內容。
ImageIcon icon = new ImageIcon("../media/link_walk.png", "hh");
JLabel j = new JLabel("hello");
j.setIcon(icon);
p.add(j);
如果你的應用程序 在Jar文件中,圖像是應用程序資源,它也將在Jar文件中。
接受String
的ImageIcon
構造函數假定String
表示文件路徑/名稱。 無法在Jar中的資源上建立File
對象。 對於Jar中的資源,必須通過URL
訪問它們。
要獲取Jar中某些內容的URL
,請使用類似的內容。
URL urlToImage = this.getClass().getResource("/media/link_walk.png");
// Check the URL!
System.out.println("urlToImage is " + urlToImage);
然后使用接受URL
的ImageIcon
構造函數。
默認情況下,JLabel不是不透明的,因此除非您通過setOpaque(true)使它們變得不透明,否則將無法看到背景顏色更改。 此外,JLabel的首選大小取決於它所擁有的文本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.