21

たくさんJListのアイテムがあり、そのうちの 1 つが選択されています。この で選択したアイテムまでスクロールしたいJListので、ユーザーはどのアイテムが選択されているかをすぐに確認できます。

これどうやってするの?

String[] data = {"one", "two", "three", "four", /* AND A LOT MORE */};
JList dataList = new JList(data);
JScrollPane scrollPane = new JScrollPane(dataList);
4

3 に答える 3

57

これはそれを行う必要があります:

dataList.ensureIndexIsVisible(dataList.getSelectedIndex());
于 2009-10-09T13:30:32.720 に答える
12

または、複数選択が有効になっている場合:

dataList.scrollRectToVisible(
        dataList.getCellBounds(
            dataList.getMinSelectionIndex(), 
            dataList.getMaxSelectionIndex()
        )
);
于 2009-10-09T13:30:17.953 に答える
11

ensureIndexIsVisibleメソッドを使用できます

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

囲んでいるビューポート内でリストをスクロールして、指定されたセルが完全に表示されるようにします。これは、指定されたセルの境界で scrollRectToVisible を呼び出します。このメソッドが機能するには、JList が JViewport 内にある必要があります。

于 2009-10-09T13:28:37.427 に答える