我在JTable
中有一个JScrollPane
。如果屏幕显示JTable
中的一半,则点击JTable
时,JScrollPane
会自动滚动显示整行。
如何停止该行为,以便点击不会滚动JScrollPane
。
谢谢!
答案 0 :(得分:2)
通过从表的UI委托调用scrollRectToVisible()
来强制执行该行为,该委托通常来自BasicTableUI
。如果没有提供您自己的代理人,您可以使用setPreferredScrollableViewportSize()
将Container
的高度设为rowHeight
的整数倍,如下所示和此example。< / p>
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));