Issue was when printing a JTable which sits inside a JScrollPane and the table is scrolled down to the end to about 1000th row, only the first page is printed. This is because when the table is scrolled down to last page, the bounds.y becomes -ve [x=0,y=-15260,width=968,height=16000] so the check `if (!((table.getBounds()).intersects(clip)))` is satisfied only for 1st page where bounds just intersects the clip [x=0,y=0,width=968,height=1296] but subsequent pages clip [[x=0,y=1296,width=968,height=1296], [x=0,y=2592,width=968,height=1296], [x=0,y=3888,width=968,height=1296] etc is not intesecting so they are not printed
This is a regression of JDK-8081491 which was **reworked** in JDK-8236907 where the bounds calculation and usage is made same as in BasicTableUI We need to use the same resetted bounds for this intersection calculation too as was done for JDK-8236907 Tested against JDK-8081491, 8170349, JDK-8236907 testcases along with other regression tests and all are OK (link in JBS) ------------- Commit messages: - Fix - Fix - 8257810: Only First page are printed in JTable.scrollRectToVisible Changes: https://git.openjdk.java.net/jdk/pull/8141/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=8141&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8257810 Stats: 189 lines in 2 files changed: 186 ins; 2 del; 1 mod Patch: https://git.openjdk.java.net/jdk/pull/8141.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/8141/head:pull/8141 PR: https://git.openjdk.java.net/jdk/pull/8141