我有一个JList
,其中包含很多项目,其中一个被选中。我想滚动到此JList
中的所选项目,以便用户可以快速查看所选项目。
我该怎么做?
String[] data = {"one", "two", "three", "four", /* AND A LOT MORE */};
JList dataList = new JList(data);
JScrollPane scrollPane = new JScrollPane(dataList);
答案 0 :(得分:52)
这应该这样做:
dataList.ensureIndexIsVisible(dataList.getSelectedIndex());
答案 1 :(得分:11)
或者,如果启用了多选:
dataList.scrollRectToVisible(
dataList.getCellBounds(
dataList.getMinSelectionIndex(),
dataList.getMaxSelectionIndex()
)
);
答案 2 :(得分:10)
您可以使用ensureIndexIsVisible
方法
http://java.sun.com/javase/6/docs/api/javax/swing/JList.html#ensureIndexIsVisible(int)
在封闭内滚动列表 视口来制作指定的单元格 完全可见。这叫 scrollRectToVisible的边界 指定的单元格。对于这个方法来 工作,JList必须在一个 的JViewport。