在Java Swing中具有每个复选框的项目列表的最佳方法是什么?
即一个JList,其中每个项目都有一些文本和一个复选框?
最佳答案
创建一个自定义的ListCellRenderer
并将其分配给JList
。
此自定义ListCellRenderer
必须在JCheckbox
方法的实现中返回getListCellRendererComponent(...)
。
但是这个JCheckbox
不可编辑,是屏幕上的简单画图,您可以选择是否必须“勾选”此JCheckbox
,
例如,在选中该行时将其显示为选中状态(参数isSelected
),但是如果选择更改,则将不会保留检查状态。最好将其显示为查阅ListModel
下的数据进行检查,但是最好由您来实现更改数据的检查状态并将该更改通知要重绘的JList
的方法。
如果需要的话,我会在稍后发布示例代码
ListCellRenderer