我有JTable
一个JScrollPane
。如果屏幕在 中显示半行JTable
,当单击 时JTable
,会JScrollPane
自动滚动显示整行。
如何停止该行为,以便单击不会滚动JScrollPane
.
谢谢!
我有JTable
一个JScrollPane
。如果屏幕在 中显示半行JTable
,当单击 时JTable
,会JScrollPane
自动滚动显示整行。
如何停止该行为,以便单击不会滚动JScrollPane
.
谢谢!
该行为是通过scrollRectToVisible()
从表的 UI 委托调用来强制执行的,通常从BasicTableUI
. 如果不提供您自己的委托,您可以使用它来制作包围的整数倍的setPreferredScrollableViewportSize()
高度,如下所示和本示例中所示。Container
rowHeight
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));