我正在尝试将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]
而不是实际的图片。我已经看了一会儿,但似乎找不到任何有用的东西。如果你们中的任何一个人都知道如何实现这一点,我们将非常感谢任何帮助。
提前致谢
答案 0 :(得分:2)
JList无法显示Jlabels。从您的Image创建一个ImageIcon,并将其用于您的元素数组。
如果您想了解更多关于JList如何实际显示元素的信息,请阅读http://docs.oracle.com/javase/tutorial/uiswing/components/list.html#renderer
答案 1 :(得分:2)
DefaultListCellRenderer
是JLabel
,因此您可以将setIcon()
与ImageIcon
一起使用。这个相关的example可能是一个有用的起点。