2016-08-14 51 views
0

可能是一個愚蠢的問題。如果是的話,我很抱歉。我無法找到我需要的谷歌搜索,但可能是因爲我真的不知道如何說出我需要的東西。Java - 使用JScrollPane創建JLabel中的IconImage

我有這行代碼:

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

這不正是我需要做的。但是,我不確定如何在使用此方法創建後更改imgIcon中的圖像。

再次,我很抱歉,如果這是一個愚蠢的問題。我試圖在此方法之外創建一個單獨的JLabel並將其添加到JScrollPane,但由於某種原因,它在圖像上繪製了一個灰色框。我知道它正在繪製圖像,因爲我可以看到圖像的1個像素加載在灰色邊框的邊緣。

謝謝你的時間!

回答

0

最簡單的做法是保留對您的JLabel對象的引用,並使用其setIcon(Icon icon)方法將其更改爲新的ImageIcon對象。

或者你可以做這樣的事情。

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