首页 > 解决方案 > 可以将 html img 添加到 JBUTTON 吗?

问题描述

我试图向 JButtons 添加一些 html 代码,后来我让它们看起来像卡片,看起来像引导卡片。我能够添加 h3 h1 标题,但是当我尝试将一些 imgs 添加到我的 JButton Cards 时,它没有打印它,而是从 Java 库或 W/E 打印一些示例图片。

我的代码是这样的:

JButton btn = new JButton("<html><img src=/" + j.getListaCartas().get(i).getUrlImagen() + "/  height=\"64px\" width=\"64px\"><h3>" + j.getListaCartas().get(i).getNombre() + "</h3><br>" + j.getListaCartas().get(i).getTipo() + "<br>" + j.getListaCartas().get(i).getATK() + "<br>" + j.getListaCartas().get(i).getDEF() + "<br>" + j.getListaCartas().get(i).getElemento() + "<br>" + "</html>");

“getListaCartas().get(i).getUrlImagen()”返回以下内容:

C:\Users\sportak\Documents\NetBeansProjects\ThunderCards\ThunderCards\fondoCartas.png

哪个是img的正确绝对路径,那有什么问题?JButton不能显示img?不兼容?

谢谢团队!

标签: javaswinguser-interface

解决方案


尝试这个

URL url = getClass().getResource("xyz.png"); // If image is on the same folder of class
String text = "<html><body  border='0' width='48' height='48' background='" + url.toExternalForm() + "'></body></html>";
btn = new JButton(text);

我注意到,通过使用 url.toExternalForm,它还附加了 file:/ 以及路径。因此可能需要加载外部图像。不过不确定。但是使用 toExernalForm 确实有效。


推荐阅读