有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java JList选择了没有元素的项目

我有一个JList,它是一个由用户最初指定的字符串数组组成的集合大小(维度)。JList嵌套在滚动窗格中,以便在元素超出维度范围时使用。我的问题是,例如,如果JList只有4个项目,并且用户单击了最后一个索引下方的某个位置,则会选择最后一个索引。我的JList是用DefaultListModel初始化的,并且有一个CellRenderer使其成为一个复选框列表。如何让JList即使在未单击某个元素时也停止选择最后一项

编辑: 细胞渲染器

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;

共 (0) 个答案