簡體   English   中英

Java Swing:使用JList和JScrollPane自動滾動

[英]Java Swing: Autoscrolling using JList and JScrollPane

我有這個問題:

我有一個JList(在JScrollPane內),其中包含約1000個元素,並且此JList的尺寸顯然不允許顯示所有數據。 現在,我在JScrollPane中有這個JList,當我說JList.setSelectedIndex()時,我需要它,JScrollPane自動滾動到其中,並在JList的該索引上顯示該元素。

先感謝您!

我相信您正在尋找以下方法:

public void ensureIndexIsVisible(int index)

在封閉的視口中滾動列表,以使指定的單元格完全可見。 這將使用指定單元格的邊界調用scrollRectToVisible。 為了使此方法起作用,JList必須在JViewport中。 如果給定的索引不在列表的單元格范圍內,則此方法不會產生任何結果。

我沒有測試過,但是您應該可以使用

myScrollPane.getViewport().scrollRectToVisible(Rectangle r)

其中r是JList的總(虛擬)區域中包含感興趣信息的區域。 您可以根據JList的項目高度和行號計算所需的垂直偏移量。


編輯:語法的答案甚至更容易實現。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM