sureIndexIsVisible()を使用すると、選択したアイテムが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 に答える