到目前为止,我已经尝试过简单地浏览我的标签并将每个标签添加到列表的列表模型中:
listModel.addElement(label);
所以这可行,但它只是给出了标签的字符串表示而不是实际的标签。
基本上,是否可以拥有JLabels的JList?如果没有,那么有什么是可以更新的JLabel可滚动列表的好方法?
答案 0 :(得分:1)
JList
,JTable
,JComboBox's popup
默认JLabel / JComponent
返回Renderer
,然后没有理由放置JComponents
类型到JList
(在这种情况下)
but it simply gives a string representation of the label rather than the actual label
答案 1 :(得分:1)
几乎不需要在Swing组件的模型端放置JComponent
JList
,JTree
,JTable
,...) 。在ListModel
中,您可以在Object
中放置要展示的JList
,然后让渲染器处理该表示。
因此,如果您想将每个Object
表示为特殊标签,请在渲染器中创建该标签。
有关详细信息,请参阅Swing list tutorial。本教程不包含自定义渲染器,而是引用custom renderer section of the combobox tutorial,它非常相似