Java 使JList值不可选择

Java 使JList值不可选择,java,swing,jlist,Java,Swing,Jlist,我想知道如何修改JList,以便单击任何值都不会起任何作用。我看了其他问题,但没有一个有帮助。假设您的JList中的对象是可单击的项目,只需对所有要禁用的对象执行setEnabled(false),我使用以下类解决了这个问题: class DisabledItemSelectionModel extends DefaultListSelectionModel { @Override public void setSelectionInterval(int index0, int

我想知道如何修改
JList
,以便单击任何值都不会起任何作用。我看了其他问题,但没有一个有帮助。

假设您的JList中的对象是可单击的项目,只需对所有要禁用的对象执行
setEnabled(false)
,我使用以下类解决了这个问题:

class DisabledItemSelectionModel extends DefaultListSelectionModel {

    @Override
    public void setSelectionInterval(int index0, int index1) {
        super.setSelectionInterval(-1, -1);
    }
}
我在这里实例化了这个类:


console.setSelectionModel(新的DisabledItemSelectionModel())

@HovercraftFullOfEels我正在向JList写入字符串,因此我无法禁用字符串。这种方法仍然允许用户使用CTRL+Mouse1单击选择元素,除非选择模型设置为
SINGLE\u selection
。对我来说,将选择模式(!)设置为
SINGLE\u selection
并不能阻止它。但是使用相同的
super.setSelectionInterval(-1,-1)重写
public void addSelectionInterval(int index0,int index1)
可以。