我有一个JList,它是一个设置大小(Dimensions),由一个用户最初指定的字符串数组组成。只要元素超出维度范围,JList就会嵌套在ScrollPane中。我的问题是,如果JList只有例如4个项目并且用户点击最后一个索引下面的某个位置,则选择最后一个索引。我的JList用DefaultListModel初始化,并有一个CellRenderer使它成为一个复选框列表。即使没有点击某个元素,如何让JList停止选择最后一个项?
编辑: 的CellRenderer
Color background = null;
Color foreground = null;
setOpaque(true);
setText(value.toString());
if (isSelected) {
setForeground(Color.red);
setSelected(true);
value = value.toString().substring(0, value.toString().length() - 1);
setText(value.toString());
} else {
if (value.toString().endsWith("t")) {
background = Color.white;
foreground = Color.green;
setSelected(true);
setBackground(background);
setForeground(foreground);
value = value.toString().substring(0, value.toString().length() - 1);
setText(value.toString());
} else {
background = Color.white;
foreground = Color.blue;
setSelected(false);
setBackground(background);
setForeground(foreground);
value = value.toString().substring(0, value.toString().length() - 1);
setText(value.toString());
}
}
return this;