1

我有JTable一个JScrollPane。如果屏幕在 中显示半行JTable,当单击 时JTable,会JScrollPane自动滚动显示整行。

如何停止该行为,以便单击不会滚动JScrollPane.

谢谢!

4

1 回答 1

2

该行为是通过scrollRectToVisible()从表的 UI 委托调用来强制执行的,通常从BasicTableUI. 如果不提供您自己的委托,您可以使用它来制作包围的整数倍的setPreferredScrollableViewportSize()高度,如下所示和本示例中所示。ContainerrowHeight

private static final int N_ROWS = 8;
private JTable table = new JTable();
...
Dimension d = new Dimension(
    table.getPreferredScrollableViewportSize().width,
    N_ROWS * table.getRowHeight());
table.setPreferredScrollableViewportSize(d);
add(new JScrollPane(table));

图片

于 2012-06-25T01:54:35.877 回答