문제

나는있다 JList 그 안에 많은 항목이 있는데, 그 중 하나가 선택됩니다. 선택한 항목으로 스크롤하고 싶습니다. JList, 따라서 사용자는 어떤 항목을 선택했는지 빨리 확인할 수 있습니다.

어떻게 할 수 있습니까?

String[] data = {"one", "two", "three", "four", /* AND A LOT MORE */};
JList dataList = new JList(data);
JScrollPane scrollPane = new JScrollPane(dataList);
도움이 되었습니까?

해결책

이렇게해야합니다.

dataList.ensureIndexIsVisible(dataList.getSelectedIndex());

다른 팁

또는 다중 선택이 활성화 된 경우 :

dataList.scrollRectToVisible(
        dataList.getCellBounds(
            dataList.getMinSelectionIndex(), 
            dataList.getMaxSelectionIndex()
        )
);

당신은 사용할 수 있습니다 ensureIndexIsVisible 방법

http://java.sun.com/javase/6/docs/api/javax/swing/jlist.html#ensureindexisvisible(int)

Enclosing Viewport 내에서 목록을 스크롤하여 지정된 셀을 완전히 보이게합니다. 이것은 지정된 셀의 경계와 함께 scrollrectTovisible이라고 부릅니다. 이 방법이 작동하려면 JLIST가 JViewport 내에 있어야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top