【发布时间】:2011-09-14 04:57:08
【问题描述】:
我有以下代码:
JFrame frame = new JFrame();
JScrollPane scrollPane = new JScrollPane(new panel(with stuff in it));
frame.getContentPane().add(scrollPane);
所以用户滚动了一下,然后点击我面板上的一个链接,然后我做了一个 pack(),所以我尝试以下代码:
int val = scrollPane.getVerticalScrollBar().getValue();
frame.pack();
scrollPane.getVerticalScrollBar().setValue(val);
但是这段代码仍然将我的滚动条返回到开头,而不是保持它在打包之前的原始位置。任何想法将不胜感激,谢谢!
【问题讨论】:
-
您的
int val持有什么?它是正确的值吗?不用包也能用吗? -
@jzd :是的 val 拥有正确的值,并且它在没有包的情况下也可以工作。
-
发布您的 SSCCE (sscce.org) 以展示问题。
-
好奇:你为什么要做一个 pack()?
-
只是问..会不会frame.pack()会忽略scrollBar的定位
标签: java swing jframe jscrollpane