2010-03-28 6 views
1

Scrollpane 안에 JList가 있습니다. 목록을 클릭하고 화살표 키를 위아래로 움직이면 기대했던 것과 같이 작동합니다. 선택 색인을 이동하고 잘 표시 할 수 있습니다.selectedList의 값을 찾고 표시하는 Scrollpane의 jList

이제 기본적으로 텍스트 상자가 있고 "만화"와 같은 텍스트 상자에 입력하고 해당 값의 색인을 찾으려고합니다. 이것은 잘 작동합니다.

여기서 문제는 목록 상자의 값이 표시 가능 영역 또는 그 위에있는 경우입니다. 선택되면, 선택된 인덱스는 탐색하지만 스크롤 가능 영역의 위치는 변경하지 않습니다. 그러나 위 또는 아래쪽 화살표와 requestFocus()를 눌러 목록으로 이동 한 다음 위아래로 이동하면 올바른 표시 가능 영역을 찾습니다.

포커스를 변경하지 않고이 문제를 해결하기 위해 누락 된 사항은 무엇입니까? 나는 내가 원하는 모든 것을 목록에 입력하고 그것이 무엇이 선택되었는지를 보여줄 수 있기를 원한다. 나는 여기서 명백한 무엇인가를 놓치고 있다고 느낀다. 내가 질문을 이해한다면

답변

4

당신은 사용할 수 있어야합니다 :

list.setSelectedIndex(...); 
list.ensureIndexIsVisible(...); 

을 그 문제를 보여주는 당신의 SSCCE를 게시 한 후 도움이되지 않는 경우.

+0

이것은 완벽하게 작동했습니다. 제가 놓친 부분이었습니다. 나는 그 API 페이지를 10 번도 보지 못했고 어떻게 그 방법을 놓쳤는 지 잘 모르겠습니다. 다시 한 번 감사드립니다! –