私はこの問題を抱えています:
私は約1000個の要素を持つJList(JScrollPane内)を持っていますが、このJListのサイズでは明らかにすべてのデータを表示できません。今、私は JScrollPane 内にこの JList を持っています。JList.setSelectedIndex() と言うと、JScrollPane が自動的にスクロールして、JList のそのインデックスにその要素を表示する必要があります。
前もって感謝します!
私はこの問題を抱えています:
私は約1000個の要素を持つJList(JScrollPane内)を持っていますが、このJListのサイズでは明らかにすべてのデータを表示できません。今、私は JScrollPane 内にこの JList を持っています。JList.setSelectedIndex() と言うと、JScrollPane が自動的にスクロールして、JList のそのインデックスにその要素を表示する必要があります。
前もって感謝します!
次の方法を探していると思います。
public void ensureIndexIsVisible(int index)
囲んでいるビューポート内でリストをスクロールして、指定されたセルが完全に表示されるようにします。これは、指定されたセルの境界で scrollRectToVisible を呼び出します。このメソッドが機能するには、JList が JViewport 内にある必要があります。指定されたインデックスがリストのセルの範囲外にある場合、このメソッドの結果は何もありません。
私はこれをテストしていませんが、使用できるはずです
myScrollPane.getViewport().scrollRectToVisible(Rectangle r)
ここで、r は、JList
関心のある情報を含む の合計 (仮想) 領域の領域です。JList のアイテムの高さと行番号から、必要な垂直方向のオフセットを計算できます。
編集:構文の答えは、実装がさらに簡単です。