如何在Java Swing中使用复选框制作列表?
在 Java Swing 中,最好有一个包含每个复选框的项目列表?
即,一个JList,其中包含一些文本和每个复选框的项目?
在 Java Swing 中,最好有一个包含每个复选框的项目列表?
即,一个JList,其中包含一些文本和每个复选框的项目?
一个很好的答案是这个CheckBoxList
。它实现了Telcontar的答案(尽管比:)早了3年......我在Java 1.6中使用它没有问题。我还添加了一个这样的方法(当然可以更短,有一段时间没有使用Java了):addCheckbox
public void addCheckbox(JCheckBox checkBox) {
ListModel currentList = this.getModel();
JCheckBox[] newList = new JCheckBox[currentList.getSize() + 1];
for (int i = 0; i < currentList.getSize(); i++) {
newList[i] = (JCheckBox) currentList.getElementAt(i);
}
newList[newList.length - 1] = checkBox;
setListData(newList);
}
我尝试了Jidesoft的演示,玩了我遇到的一些问题(不起作用的行为)。如果我发现链接到的有问题,我会修改这个答案。CheckBoxList
CheckBoxList
创建自定义并将其签名到 .ListCellRenderer
JList
此自定义必须在方法的实现中返回 a。ListCellRenderer
JCheckbox
getListCellRendererComponent(...)
但是这个是不可编辑的,就是一个简单的画在屏幕上就由你来选择什么时候这个一定要“勾选”还是不勾选,JCheckbox
JCheckbox
例如,在选择行时显示其勾选(参数),但这样,如果选择更改,则不会保留检查状态。最好显示它已检查咨询下面的数据,但随后由您来实现谁更改数据的检查状态的方法,并通知更改要重新绘制。isSelected
ListModel
JList
如果需要,我将稍后发布示例代码