2012-03-07 3 views
0

나는 DefaultListModel에서 작업 중입니다. 선택한 항목을 목록의 처음 또는 마지막 위치 (위/아래가 아님)로 이동해야합니다. 스 와이프하지 않고 처음 또는 마지막 위치에서 DefaultListModel의 선택한 항목을 이동하는 방법?DefaultListModel의 요소 위치 변경

+2

숙제 태그를 잊어 버렸습니까? – kleopatra

+0

항목을 제거하고 원하는 위치에 삽입 하시겠습니까? – StanislavL

답변

1

내가 가진 문제는 "위로"또는 "아래로"버튼을 누르면 항목이 이동하지만 목록에서 삭제하고 다시 추가했기 때문입니다. 더 이상 선택하지 않았습니다. 목록 선택 모델은 "제거"이벤트를 처리하고 선택한 항목이 제거 되었기 때문에 선택을 지 웁니다.

는 둘 다 우아,이 문제를 해결하는 두 가지 방법을 알고 :

  1. 이 "이동"조치도 선택 같은 항목을 유지하는 선택 모델을 업데이트 되세요.
  2. 목록에 보관하고 다른 모든 항목을 이동하여 항목을 이동하십시오. 목록이 [1, 2, 3, 4]이고 시작 부분을 3으로 이동하려면 먼저 1과 2를 제거하여 [3, 4]를 얻은 다음 색인 1에 다시 추가하여 [3 , 1, 2, 4]. (이것은 선택 모델이 추가 및 제거 이벤트에서 선택된 인덱스를 업데이트한다는 사실을 사용합니다.)

나는 좀 더 많은 작업을 수행하기 때문에 일반적으로 목록 모델에만 적용되며 선택 모델에는 적용되지 않습니다.