JScrollPane의 JViewPort 객체를 사용하는 점에서 특정의 행을 취득하는 방법을 지금까지 알고있었습니다.JScrollPane 내의 JTable 모델의 모든 가시 행을 취득하는 방법
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보기의 모든 행을 가져 오는 방법이 있습니까?
당신이 테이블의 가시의 행이 스레드에서 @의 클레오 파트라의 답변을 참조 카운트를 원한다면 [? 얼마나 많은 행 JTable로 현재 표시되고 (http://stackoverflow.com/questions/11887642/how- many-rows-is-a-jtable- 현재 - 표시). 표시되는 모든 행의 목록을 가져 오려면 해당 대답이 도움이 될 것입니다. – dic19
그래서 행 개수를 반복하려면 행 개수를 사용해야합니까? – cj5
아니요, 간단히 첫 번째 행과 마지막 행만 있으면 충분합니다. 중간에있는 것이 계산 가능합니다. isntance : 첫 번째 행은 3이고 마지막 행은 7입니다. 그러면 {3,4,5,6,7}이됩니다. – dic19