Java的JList的滚动来选择项目(Java JList scroll to selected i

2019-08-17 15:36发布

我有一个JList有很多在里面的物品,其中一个被选中的。 我想滚动到这个选择的项目JList ,所以用户可以快速查看选择了哪个项目。

我怎样才能做到这一点?

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

Answer 1:

这应该这样做:

dataList.ensureIndexIsVisible(dataList.getSelectedIndex());


Answer 2:

或者,如果多选启用:

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


Answer 3:

您可以使用ensureIndexIsVisible方法

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

封闭视口内滚动列表,使指定单元完全可见。 这与指定单元的边界调用scrollRectToVisible。 对于这种方法的工作,将JList必须在JViewport中。



文章来源: Java JList scroll to selected item