Aly*_*Aly 5 html java image jlabel
我正在尝试显示一个JLabel,它有几行文本和图像,如下所示:
String html = "<html> hello </br> <img src = \"/absolute/path/here\" height = \"30\" width =\"40\"/> </html>";
JLabel l = new JLabel(html);
Run Code Online (Sandbox Code Playgroud)
对于图像,我得到的是一个破碎的图像,是否可以将嵌入img标签嵌入JLabel?
编辑:我想将多个图像添加到JLabel,所以我不认为使用ImageIcon会在这里做.
谢谢
For the image all I get is a broken image, is it possible to nest img tags inside a JLabel
它是可以在JLabel中的文本显示图像(S)。由于路径不正确,您会收到损坏的图像。您需要为您的路径加上前缀,file:
或者最好让 java 用class.getResource("/your/path")
. 这是一个工作示例,只需插入有效的资源路径。
import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class MultipleImagesExample
{
public static void main(String[] args)
{
JFrame frame = new JFrame();
frame.setLayout(new BorderLayout());
JLabel label = new JLabel(
"<html>"
+ "<img src=\""
+ MultipleImagesExample.class.getResource("/resource/path/to/image1")
+ "\">"
+ "<img src=\""
+ MultipleImagesExample.class.getResource("/resource/path/to/image2")
+ "\">"
+ "The text</html>");
frame.add(label, BorderLayout.CENTER);
frame.setBounds(100, 100, 200, 100);
frame.setVisible(true);
}
}
Run Code Online (Sandbox Code Playgroud)
对于 Java 中更复杂的 HTML,我推荐xhtmlrenderer。
File f = new File("C:\image.jpg");
jLabel1.setText("<html><img src=\"file:"+f.toString()+"\">");
Run Code Online (Sandbox Code Playgroud)
这适合我.它很简单,可以放置你想要的任意数量的图像,而不仅仅是一个图像图标.没有引号就行不通.
与其尝试在单个 JLabel 上拥有多个图像,为什么不简单地拥有多个 JLabel,每个 JLabel 都有一个图像(如 uthark 所描述的),然后将所有标签组合到一个 JPanel 上。这应该会给您带来您正在寻找的效果,并且只需要最小的额外复杂性。
归档时间: |
|
查看次数: |
6375 次 |
最近记录: |