[英]Loading images from jars for Swing HTML
雖然這個答案適用於從ImageIcons
Jar文件加載圖像,但我似乎無法為Swing HTML中引用的圖像獲取正確的路徑。
當資源未捆綁到jar中時,這會在Swing HTML中顯示圖像:
new JLabel("<html><table cellpadding=0><tr><td><img src='file:icons/folder_link.png'></td></tr><tr><td>100</td></tr></table></html>") );
在jar內部,圖像可以成功引用(並顯示)到ImageIcon
:
Icon topIcon = new ImageIcon( getClass().getResource("icons/folder_link.png" ) );
但是,我嘗試使用Swing HTML的getResource
技術不起作用。
String p = getClass().getResource("icons/folder_link.png" ).getPath();
new JLabel("<html><table cellpadding=0><tr><td><img src='" + p + "'></td></tr><tr><td>100</td></tr></table></html>") );
秘密是什么?
在沒有實際嘗試的情況下,如果您在HTML代碼中包含資源URL,我會假設HTML渲染器可以訪問您的圖像:
String p = getClass().getResource("icons/folder_link.png" ).toString();
new JLabel("<html><table cellpadding=0><tr><td><img src='" + p + "'></td></tr><tr><td>100</td></tr></table></html>") );
URL是秘密
試試這個伴侶:
URL p = getClass().getResource("icons/folder_link.png" );
new JLabel("<html><table cellpadding=0><tr><td><img src='" + p + "'></td></tr><tr><td>100</td></tr></table></html>") );
然后你也可以這樣做:
Icon topIcon = new ImageIcon(p);
然后將此圖標設置為JLabel的圖標,如果您想這樣做的話!
答案已擴展並移至可能/如何在JAR中嵌入和訪問HTML文件?
因為即使是Sun在Swing中使用HTML的原始演示也沒有將圖像嵌入到HTML中(用於生成帶有圖像圖標的按鈕),我懷疑甚至支持在適當的位置顯示圖像。 我記得讀者“某些HTML的有限子集”,但現在找不到引用。
編輯: 請看安德魯的評論和回答,它確實有效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.