在JLabel中使用html显示图像

时间:2013-04-24 11:12:52

标签: java html jlabel

我使用以下方法将ImageIcon转换为缩略图:

ImageIcon im = new ImageIcon(url);
Image image = im.getImage().getScaledInstance(80,100,Image.SCALE_DEFAULT);

当我尝试使用html在JLabel中显示图像时,我遇到了问题。在将ImageIcon转换为Image之前,以下代码工作正常:

JLabel label = new JLabel("<html>" + im);

但是现在当我尝试使用Image执行相同操作时,它不起作用。知道如何在JLabel中使用html显示生成的图像吗?

2 个答案:

答案 0 :(得分:1)

出了什么问题:

JLabel label = new JLabel("<html><img height='" + height + "' width='" + width
               + "' src='" + url + "'></html>");

例如:

JLabel label = new JLabel("<html><img  height='80' width='100' src='https://developer.cdn.mozilla.net/media/img/mdn-logo-sm.png' /></html>");

注意:请勿将px添加到高度或宽度值

这里有一些文档:

http://docs.oracle.com/javase/7/docs/api/javax/swing/text/html/ImageView.html

答案 1 :(得分:-1)

您无法在JLabel中显示HTML代码。您将需要使用htmlPanel。您可以稍后设置它的预定大小,这是您需要添加的内容。

JPanel htmlPanel = new HtmlPanel("<html><body><img src="file path goes here"></body></html>");

这是我掀起的完整代码。

JPanel htmlPanel = new HtmlPanel("<html><body><img src="images/file.png"></body></html>");

htmlPanel.setPreferredSize(new Dimension(TheWidthGoesHere, TheHeightGoesHere));

然后你就可以像使用任何其他组件一样将htmlPanel添加到你的框架中。

frame.add(htmlPanel);