258 |
// parent is no JScrollPane, so do we. |
// parent is no JScrollPane, so do we. |
259 |
JScrollPane sc = (JScrollPane) parent; |
JScrollPane sc = (JScrollPane) parent; |
260 |
Dimension viewportSize = viewport.getPreferredSize(); |
Dimension viewportSize = viewport.getPreferredSize(); |
261 |
|
Dimension viewSize = viewport.getViewSize(); |
262 |
int width = viewportSize.width; |
int width = viewportSize.width; |
263 |
int height = viewportSize.height; |
int height = viewportSize.height; |
264 |
if (hsb != null && hsb.isVisible()) |
|
265 |
|
// horizontal scrollbar needed if the view's preferred width |
266 |
|
// is larger than the viewport's preferred width |
267 |
|
if (hsb != null && viewSize.width > viewportSize.width) |
268 |
height += hsb.getPreferredSize().height; |
height += hsb.getPreferredSize().height; |
269 |
if (vsb != null && vsb.isVisible()) |
|
270 |
|
// vertical scrollbar needed if the view's preferred height |
271 |
|
// is larger than the viewport's preferred height |
272 |
|
if (vsb != null && viewSize.height > viewportSize.height) |
273 |
width += vsb.getPreferredSize().width; |
width += vsb.getPreferredSize().width; |
274 |
if (rowHead != null && rowHead.isVisible()) |
if (rowHead != null && rowHead.isVisible()) |
275 |
width += rowHead.getPreferredSize().width; |
width += rowHead.getPreferredSize().width; |