Пока я знаю, как получить конкретную строку в точке, используя объект JViewPort JScrollPane.
scrollPane.getVerticalScrollBar().addAdjustmentListener(new AdjustmentListener() {
@Override
public void adjustmentValueChanged(AdjustmentEvent e) {
JViewport viewport = scrollPane.getViewport();
Point p = viewport.getViewPosition();
int rowIndex = getLogsTable().rowAtPoint(p);
System.out.println("Minimum Y: " + viewport.getViewRect().getMinY());
System.out.println("Min row: " + getLogsTable().rowAtPoint(new Point(0, (int) viewport.getViewRect().getMinY())));
System.out.println("Maximum Y: " + viewport.getViewRect().getMaxY());
System.out.println("Max row: " + getLogsTable().rowAtPoint(new Point(0, (int) viewport.getViewRect().getMaxY())));
}
});
Мне трудно понять, как получить все строки между JViewport.getMinimumY() и JViewport.getMaximumY(). Есть ли способ собрать все элементы строки между этими двумя точками просмотра или есть ли способ просто получить все строки в представлении JScrollPane?
3
, а последняя строка7
, тогда у вас есть{3,4,5,6,7}
. - person dic19   schedule 27.08.2014