我使用以下方法将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显示生成的图像吗?
答案 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);