到目前为止,我已经尝试简单地浏览我的标签并将每个标签添加到列表的列表模型中:
listModel.addElement(label);
所以这是可行的,但它只是给出了标签的字符串表示,而不是实际的标签。
基本上,是否有可能有一个 JLabels 的 JList?如果没有,那么有一个可以更新的可滚动 JLabels 列表的好方法是什么?
(几乎)永远不需要将 aJComponent
放在 Swing 组件的模型端(JList
, JTree
, JTable
, ... )。在你的中ListModel
,你把Object
你想要可视化的 s 放在 a 中JList
,然后让渲染器处理表示。
因此,如果您想将每个标签表示Object
为特殊标签,您可以在渲染器中创建该标签。
有关更多信息,请参阅Swing 列表教程。本教程不包含自定义渲染器,而是让您参考组合框教程的自定义渲染器部分,这非常相似
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