ensureIndexIsVisible()使所选项目出现在JList的末尾,那么如何让所选项目出现在JList的顶部而不是最后呢?
答案 0 :(得分:4)
试试这个:
yourList.getFirstVisibleIndex();
答案 1 :(得分:3)
试试这个:
list.getFixedCellHeight()
scrollpane.getViewport().getViewPosition().y
可能有一种更简单的内置方式。查看JList和JScrollpane的API。
答案 2 :(得分:0)
好的,最后我想要我想要
jlist.ensureIndexIsVisible(index);
int num;
if(index+1000>datalist.size())
num = datalist.size()-index-1;
else
num = 1000;
jlist.scrollRectToVisible(jl.getCellBounds(index,index+num));
jlist.setSelectedIndex(index);
这使得我在索引处的所选项目出现在JList的顶部
答案 3 :(得分:0)
这个问题很老,但也许我的答案很有用。
myList.setVisibleRowCount(x);
int selected=myList.getSelectedIndex();
myList.scrollRectToVisible(myList.getCellBounds(selected,selected+x));