2011-02-17 4 views
1

목록을 선택하면 항목을 처음 선택할 때 두 번째 항목을 선택하면 둘 다 선택되어 첫 번째 항목이 그대로 유지됩니다. 목록 선택 모드를 여러 항목으로 설정했습니다. 하지만 여전히 ctrl 키를 눌러야합니다. ctrl 키를 누르지 않고 수행하고 싶습니다.스윙의 목록 선택 재정의

목록 항목을 어떻게 선택합니까? StanislavL제안 나는 다음과 같은 시도하지만 나를 위해 일하지 않았다 AS :

list.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); 

편집 : 여기

내가 선택 모드를 설정 한 라인입니다.

  DefaultListSelectionModel model = new DefaultListSelectionModel(); 
      model.removeSelectionInterval(0, 2); 
      user_list.setSelectionModel(model); 

답변

4

그것은 멀티가 Ctrl 키 키를 눌러 필요 선택하는 것이 진짜 잘 알려진 대회이다. Shift 키를 사용하여 값 범위를 선택하는 것과 동일합니다.

개인적으로 나는 다른 응용 프로그램에 이미 익숙한 사용자를 혼란스럽게 할 것이므로 개인적으로이 동작을 변경하는 데 많은 노력을 기울이지 않을 것입니다.

+0

+1 내 회사에서 항상이 문제에 직면합니다. 그들은 "그들이 원하는 것이기"때문에 잘 정립 된 협약을 원한다. ... 그들이 정말로 원하는 것인가? 아마 안 ... 장기적으로는! – corsiKa

1

목록의 ListSelectionModel을 바꾸어보십시오. 항목이 이미 선택하는 경우

public void setSelectionModel(ListSelectionModel selectionModel) 

당신은()를로 DefaultListSelectionModel를 사용하고

public void removeSelectionInterval(int index0, int index1) 

전화 super.remove을 무시할 수 있습니다.

+0

나는 그것을 시도했지만 아무것도 바뀌지 않았다. 내 질문에 내 코드를 추가했습니다 –

+0

코드에서 removeSelectionInterval을 무시하는 부분이 표시되지 않습니다. – StanislavL

+0

'removeSelectionInterval (nt index0, int index1)'에 대한 문서를 읽었지만 완전히 덮어 쓸 수는 없습니다. 실제로 무엇을해야할지 모릅니다. 좀 더 도와 줄 수 있겠 니? –