Java 垂直滚动条设置值始终将其设置为90

Java 垂直滚动条设置值始终将其设置为90,java,scrollbar,jscrollpane,setvalue,Java,Scrollbar,Jscrollpane,Setvalue,我正在保存两个滚动条的状态,并使用以下两种方法加载它: private void saveScrollPosition() { scrollY = scrollPane.getVerticalScrollBar().getValue(); scrollX = scrollPane.getHorizontalScrollBar().getValue(); System.out.println("Saved: " + scrollX + "," + scrollY); }

我正在保存两个滚动条的状态,并使用以下两种方法加载它:

private void saveScrollPosition() {
    scrollY = scrollPane.getVerticalScrollBar().getValue();
    scrollX = scrollPane.getHorizontalScrollBar().getValue();
    System.out.println("Saved: " + scrollX + "," + scrollY);
}

private void loadScrollPosition() {
    scrollPane.getVerticalScrollBar().setValue(scrollY);
    scrollPane.getHorizontalScrollBar().setValue(scrollX);
    System.out.println("Should load: " + scrollX + "," + scrollY);
    System.out.println("Loaded: " + scrollPane.getHorizontalScrollBar().getValue() + "," + scrollPane.getVerticalScrollBar().getValue());
}
水平滚动条正在执行它应该执行的操作,但垂直滚动条始终设置为90

控制台: 保存日期:185882 应加载:185882 载货量:185,90

在论坛中找到了创建新的可运行方法的技巧,并从

SwingUtilities.invokeLater(doScroll);
但是没有成功


我想知道我做错了什么…

我必须先更新我的contentPane。然后垂直滚动条被更新为正确的值。Idk为什么它与水平滚动条一起工作

之前:

loadScrollPosition();  
contentPane.updateUI();
之后


希望这能有所帮助

只是把它当作一个机会,你的最小和最大访问量是如何设定的?目前我没有这个项目。我会在周一早上检查。最大值和最小值设置为正确的数值。大约2000年我的窗口。
contentPane.updateUI();
loadScrollPosition();