将图像插入JList

时间:2012-09-16 13:01:06

标签: java image swing list

我正在尝试将Image加载到List中,但我似乎无法让它工作。我试过了

ImageIcon pic = new ImageIcon("http://i3.ytimg.com/vi/68X8RUxeXeA/default.jpg");
JLabel picLbl = new JLabel(pic);

Object[] lol = {picLbl, "pic", "length"};
list = new JList(lol);
scrollPane.setViewportView(list);
list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

只是放javax.swing.JLabel[,0,0,0x0,invalid,alignmentX=0.0,alignmentY=0.0,border=,flags=8388608,maximumSize=,minimumSize=,preferredSize=,defaultIcon=http://i3.ytimg.com/vi/68X8RUxeXeA/default.jpg,disabledIcon=,horizontalAlignment=CENTER,horizontalTextPosition=TRAILING,iconTextGap=4,labelFor=,text=,verticalAlignment=CENTER,verticalTextPosition=CENTER]

而不是实际的图片。我已经看了一会儿,但似乎找不到任何有用的东西。如果你们中的任何一个人都知道如何实现这一点,我们将非常感谢任何帮助。

提前致谢

2 个答案:

答案 0 :(得分:2)

JList无法显示Jlabels。从您的Image创建一个ImageIcon,并将其用于您的元素数组。

如果您想了解更多关于JList如何实际显示元素的信息,请阅读http://docs.oracle.com/javase/tutorial/uiswing/components/list.html#renderer

答案 1 :(得分:2)

DefaultListCellRendererJLabel,因此您可以将setIcon()ImageIcon一起使用。这个相关的example可能是一个有用的起点。