2009-10-09 160 views
19

我有一个JList其中有很多项目,其中一个被选中。我想滚动到此JList中的选定项目,以便用户可以快速查看选择了哪个项目。Java JList滚动到选定的项目

我该怎么做?

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

,以确保它始终是可见的,你可以重写的setSelectedIndex方法,并调用Sbodd的方法从那里。 – WVrock 2015-06-08 13:18:37

回答

48

这应做到:

dataList.ensureIndexIsVisible(dataList.getSelectedIndex()); 
10

或者,如果多选启用:

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

其dataList.getMinSelectionIndex() 但是,答案仍然对我有用:) – Fortega 2009-10-09 15:06:58

+0

谢谢 - 编辑的代码从'Selelected'到'Selection' – Nate 2009-10-09 17:00:10