これまでのところ、JScrollPane の JViewPort オブジェクトを使用して、ある時点で特定の行を取得する方法を知っています。
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() の間のすべての行を取得する方法を理解するのに苦労しています。これらの 2 つのビューポート ポイント間のすべての行項目を収集する方法はありますか、または JScrollPane ビューですべての行を取得する方法はありますか?