2014-05-22 3 views
0

DefaultListModel으로 Java에서 JList으로 작업하고 있습니다. 항목의 위치를 ​​변경하여 목록의 내용을 업데이트하려고합니다. 문제는 DefaultListModel에는 "업데이트"방법이 없기 때문에 위치를 변경하고 원하는 인덱스에 다시 추가하려는 요소를 제거하는 것입니다. 이렇게하면 목록 사이의 간격이 매우 커져서 프로그램이 충돌 할 때와 마찬가지로 요소 텍스트를 반으로 만듭니다.JList가 이상한 동작을합니다.

추가 할 요소의 위치/색인을 지정하지 않고 그냥 제거한 다음 기본 추가 방법 (목록 하단에 추가)으로 추가하면이 문제가 발생합니다. 발생하지 않습니다. 이 문제를 일으키지 않고 JList에서 요소의 위치를 ​​어떻게 바꿀 수 있는지에 대한 단서가 있습니까?

미리 감사드립니다.

+1

나는이 문제를'JTable'과'DefaultTableModel'과 비슷한 문제로 다루었습니다. 과거에 내가 한 일은 다음과 같습니다. 1) 모델에서 데이터를 검색합니다. 2) 모델에서 데이터를 지 웁니다. 3) 원하는대로 데이터를 다시 정렬하십시오. 4) 데이터를 다시 모델에 추가하십시오. –

+0

음, 시험해 보는 것이 좋습니다. 고맙다. 나는 그것을 발사하고 그것이 효과가 있었는지 말해 줄 것이다! – user2099024

+0

문제를 보여주는 [MCVE] (http://stackoverflow.com/help/mcve)를 제공하십시오. – user1803551

답변

0

@DanTemple이 준 솔루션입니다.

1) 모델에서 데이터를 검색하십시오. 2) 모델에서 데이터를 지 웁니다. 3) 원하는대로 데이터를 재정렬하십시오. 4) 데이터를 다시 모델에 추가하십시오.