我有一个JList
有很多在里面的物品,其中一个被选中的。 我想滚动到这个选择的项目JList
,所以用户可以快速查看选择了哪个项目。
我怎样才能做到这一点?
String[] data = {"one", "two", "three", "four", /* AND A LOT MORE */};
JList dataList = new JList(data);
JScrollPane scrollPane = new JScrollPane(dataList);
我有一个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)
封闭视口内滚动列表,使指定单元完全可见。 这与指定单元的边界调用scrollRectToVisible。 对于这种方法的工作,将JList必须在JViewport中。