簡體   English   中英

從罐子里為Swing HTML加載圖片

[英]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的圖標,如果您想這樣做的話!

因為即使是Sun在Swing中使用HTML的原始演示也沒有將圖像嵌入到HTML中(用於生成帶有圖像圖標的按鈕),我懷疑甚至支持在適當的位置顯示圖像。 我記得讀者“某些HTML的有限子集”,但現在找不到引用。

編輯: 請看安德魯的評論和回答,它確實有效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM