在Java Swing中具有每个复选框的项目列表的最佳方法是什么?

即一个JList,其中每个项目都有一些文本和一个复选框?

最佳答案

创建一个自定义的ListCellRenderer并将其分配给JList

此自定义ListCellRenderer必须在JCheckbox方法的实现中返回getListCellRendererComponent(...)

但是这个JCheckbox不可编辑,是屏幕上的简单画图,您可以选择是否必须“勾选”此JCheckbox

例如,在选中该行时将其显示为选中状态(参数isSelected),但是如果选择更改,则将不会保留检查状态。最好将其显示为查阅ListModel下的数据进行检查,但是最好由您来实现更改数据的检查状态并将该更改通知要重绘的JList的方法。

如果需要的话,我会在稍后发布示例代码

ListCellRenderer

07-24 20:45