4

私はこの問題を抱えています:

私は約1000個の要素を持つJList(JScrollPane内)を持っていますが、このJListのサイズでは明らかにすべてのデータを表示できません。今、私は JScrollPane 内にこの JList を持っています。JList.setSelectedIndex() と言うと、JScrollPane が自動的にスクロールして、JList のそのインデックスにその要素を表示する必要があります。

前もって感謝します!

4

2 に答える 2

6

次の方法を探していると思います。

public void ensureIndexIsVisible(int index)

囲んでいるビューポート内でリストをスクロールして、指定されたセルが完全に表示されるようにします。これは、指定されたセルの境界で scrollRectToVisible を呼び出します。このメソッドが機能するには、JList が JViewport 内にある必要があります。指定されたインデックスがリストのセルの範囲外にある場合、このメソッドの結果は何もありません。

于 2010-07-06T13:52:03.410 に答える
1

私はこれをテストしていませんが、使用できるはずです

myScrollPane.getViewport().scrollRectToVisible(Rectangle r)

ここで、r は、JList関心のある情報を含む の合計 (仮想) 領域の領域です。JList のアイテムの高さと行番号から、必要な垂直方向のオフセットを計算できます。


編集:構文の答えは、実装がさらに簡単です。

于 2010-07-06T13:55:40.853 に答える