2013-07-25 2 views
8

JList을 수정하여 값을 클릭해도 아무런 변화가 없도록하는 방법을 궁금합니다. 나는 다른 질문을 보았으나 아무도 도움을받지 못했다. 내가 여기에 클래스를 인스턴스화JList 값을 선택 취소 할 수 없습니다

class DisabledItemSelectionModel extends DefaultListSelectionModel { 

    @Override 
    public void setSelectionInterval(int index0, int index1) { 
     super.setSelectionInterval(-1, -1); 
    } 
} 

: 당신의 JList에 개체를 가정

답변

9

을 해제 할 모든 개체에 대한 setEnabled(false)을 클릭 할 항목입니다 :

console.setSelectionModel(new DisabledItemSelectionModel());

+3

이 방법을 사용하면 선택 모델이'SINGLE_SELECTION'으로 설정되어 있지 않으면 CTRL + Mouse1 클릭으로 요소를 선택할 수 있습니다. – Dev

+0

나를 위해, 선택 모드 (!)를'SINGLE_SELECTION'으로 설정해도 그것을 막을 수는 없습니다. 그러나 같은'super.setSelectionInterval (-1, -1);을 사용하여'public void addSelectionInterval (int index0, int index1)'을 오버라이드한다. – Bowi

1

당신이 내가 다음과 같은 클래스를 사용하여 그것을 해결

+0

@HovercraftFullOfEels 내가 JList의에 문자열을 쓰고 있어요, 그래서 문자열을 해제 할 수있는 방법이 없습니다. – nrubin29

관련 문제