scrollRectToVisible --> 需要影响垂直线

scrollRectToVisible --> need effect on vertical line

我有带两个滚动条(水平和垂直)的 JTable。当我使用 scrollRectToVisible 时,它​​ return 我是矩形,此操作导致垂直和水平滚动条自动移动到指定的 rows/columns。如何自动将垂直滚动条移动到所需位置并且水平滚动条应保持不活动状态?此方法应向我显示选定的行,但我的 JTable 非常宽,我想避免在轨道的开头(左侧)自动移动(水平)-> 简单地说,我希望水平位置不变。

public void goToSelected() {

    int selectedRow = this.getSelectedRow();
    if (selectedRow >= 0)

    this.scrollRectToVisible(this.getCellRect(selectedRow, 0, true));
}

水平位置可能会改变,因为您正在指定列索引 (0),并且指定的列可能不可见。您可以简单地结合当前可见区域的值和单元格的垂直范围来获得所需的效果:

Rectangle target = getCellRect(selectedRow, 0, true), vis = getVisibleRect();
target.x = vis.x;
target.width = vis.width;
scrollRectToVisible(target);