ensureIndexIsVisible() 使所选项目出现在 JList 的末尾,那么如何使所选项目出现在 JList 的顶部而不是末尾?
问问题
1686 次
4 回答
4
尝试这个:
yourList.getFirstVisibleIndex();
于 2012-06-11T18:28:56.043 回答
3
尝试这个:
- 获取每个项目的高度
list.getFixedCellHeight()
- 获取视口边界
scrollpane.getViewport().getViewPosition().y
- 将 (2) 除以 (1) 得到隐藏单元格的数量,将其四舍五入,这就是您的索引。
可能有一种更简单的内置方式。查看JList和JScrollpane的 API 。
于 2012-06-11T18:27:08.487 回答
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 的顶部
于 2012-06-11T20:05:53.610 回答
0
这个问题很老,但也许我的回答会很有用。
myList.setVisibleRowCount(x);
int selected=myList.getSelectedIndex();
myList.scrollRectToVisible(myList.getCellBounds(selected,selected+x));
于 2016-08-06T11:11:53.653 回答