【发布时间】:2014-10-20 15:26:15
【问题描述】:
我正在保存两个滚动条的状态并用这两种方法加载它:
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。
控制台:
已保存:185,882
应加载:185,882
已加载:185,90
在论坛中找到一个技巧来创建一个新的 Runnable 方法并开始它
SwingUtilities.invokeLater(doScroll);
但没有成功。
我想知道我做错了什么......
【问题讨论】:
-
只是碰碰运气,你的
minimum和maximum - visibleAmount是怎么设置的? -
目前我没有这个项目。我会在星期一早上检查它。
-
最大值和最小值设置为正确的数量。我的窗户大约 2000 年。
标签: java scrollbar jscrollpane setvalue