Java - 使用JScrollPane创建的JLabel中的更改IconImage

时间:2016-08-14 04:31:37

标签: java

可能是一个愚蠢的问题。如果是这样,我道歉。我无法通过谷歌搜索找到我需要的东西,但可能是因为我不确定如何说出我需要的内容。

我有这行代码:

JScrollPane scrlPane = new JScrollPane(new JLabel(imgIcon));

这正是我需要它做的。但是,我不确定如何在使用此方法创建imgIcon后更改图像。

如果这是一个愚蠢的问题,我再次道歉。我试图在此方法之外创建一个单独的JLabel并将其添加到JScrollPane,但由于某种原因,它在图像上绘制一个灰色框。我知道它正在绘制图像,因为我可以看到图像的1个像素加载在灰色框的边缘。

谢谢你的时间!

1 个答案:

答案 0 :(得分:0)

最简单的方法是保留对JLabel对象的引用,并使用其setIcon(Icon icon)方法将其更改为新的ImageIcon对象。

或者你可以这样做。

JViewport viewport = scrollPane.getViewport(); 
JLabel label = (JLabel)viewport.getView(); 
if (label != null) {
   label.setIcon(newImgIcon);
}