Java scrollRectToVisible奇怪的滚动

Java scrollRectToVisible奇怪的滚动,java,scrollbar,rect,scrollrect,Java,Scrollbar,Rect,Scrollrect,我用Java制作了一个自定义表组件,我很好奇为什么scrollRectToVisible总是滚动到输入矩形的右下角 有没有办法告诉父组件尝试查看整个矩形? 因为当您想要自动滚动到一个表行时,它并不好笑,而且它总是只查看所需表行的底部 *编辑 private JPanel box = new JPanel(); private JScrollPane scroll = new JScrollPane(box, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScro

我用Java制作了一个自定义表组件,我很好奇为什么scrollRectToVisible总是滚动到输入矩形的右下角

有没有办法告诉父组件尝试查看整个矩形? 因为当您想要自动滚动到一个表行时,它并不好笑,而且它总是只查看所需表行的底部

*编辑

private JPanel box = new JPanel();
private JScrollPane scroll = new JScrollPane(box, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
public void scrollTo(int index){
    if(datas.size() != 0){
        JPanel panel;
        if(index < 0){
            index = 0;
        }else if(index >= datas.size()){
            index = datas.size() - 1;
        }
        panel = datas.get(index);
        Rectangle rectangle = panel.getBounds();
        if(index != 0){
            rectangle.setLocation(0, rectangle.y + 1);
        }
        box.scrollRectToVisible(rectangle);
    }
}
*解决方案
哦,好吧,没关系,我发现了问题。它之所以滚动到右下角,是因为在构造函数运行期间,出于某种原因getVisibleRect告诉所有数据为零,但在构建了整个帧之后,它开始滚动到正常位置:

请显示您编写的代码,这很有帮助。@CaptJak不确定我的程序中的问题到底在哪里,所以我无法向您显示正确的问题。另外,我的组件有400多行代码。但如果您想查看滚动的方法,请查看我编辑的问题。