Как получить количество столбцов и строк, которые видны в моем JList? - PullRequest
1 голос
/ 25 октября 2011

У меня есть JList, который находится внутри JscrollPane, и я пытаюсь сделать некоторую нумерацию данных, когда пользователь прокручивает его, загружая соответствующее количество данных на экран.Проблема в том, что мне нужно выяснить, сколько данных мне нужно буферизовать из моего файла, и единственный способ сделать это - выяснить, сколько данных нужно отобразить на экране.У кого-нибудь есть идеи, как получить число или строки и столбцы, которые могут отображаться из моего JList?Также неплохо было бы сделать разбиение на страницы с JList и JScrollPane или есть какой-то другой подход, который лучше подходил бы для отображения тонны данных на панели прокрутки?

Спасибо

Ответы [ 2 ]

3 голосов
/ 25 октября 2011

Вы можете использовать getFirstVisibleIndex и getLastVisibleIndex методы JList для вычисления количества отображаемых элементов при отображении.

Если размер области просмотра в области прокрутки изменяется, то количество видимых строк также будетменять.Поэтому, если размер компонента можно изменять, вам может потребоваться прослушать изменение размера компонента.

2 голосов
/ 25 октября 2011

Сделайте getModel() в JList, чтобы получить базовый ListModel, затем вызовите getSize() для него.

РЕДАКТИРОВАТЬ: о, и если содержимое модели состоит из структуры данных с несколькими столбцами, вызовите любой подходящий метод для этого размера. Вы можете получить строку с getElementAt(int index). Может потребоваться дополнительная работа, если число столбцов является переменным.

...