停用 JScrollPane 上的 ScrollOnExpand

发布于 2024-12-04 02:06:13 字数 168 浏览 1 评论 0原文

我想防止滚动窗格在视图中的内容展开时滚动。有什么指点吗?我尝试过用谷歌搜索标题的变体,并阅读了 JScrollPane 的所有文档,但我仍然有点困惑。

编辑: 在滚动窗格中,我有一个文本窗格,在它旁边有另一个文本窗格,显示旁边窗格的行号。每次添加新行时我都会填充此数字窗格,因此这可能是导致视图前进的原因。

I want to prevent the scrollpane from scrolling when the content in its view expands. Any pointers? I've tried Googling variations on the title, as well as reading all the docs for JScrollPane, and I'm still a bit baffled.

Edit:
Within the scroll pane, I have a textpane, and beside it I have another text pane that shows the line numbers of the pane beside it. I fill up this number pane every time a new line is added, so this is probably what is causing the view to advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

音盲 2024-12-11 02:06:13

可以在 DefaultCaret 上配置滚动或不滚动

    DefaultCaret caret = (DefaultCaret) textPane.getCaret();
    caret.setUpdatePolicy(DefaultCaret.NEVER_UPDATE);

另请参阅 Rob 的精彩博客条目 关于文本滚动

to-scroll or not-to-scroll is configurable on DefaultCaret

    DefaultCaret caret = (DefaultCaret) textPane.getCaret();
    caret.setUpdatePolicy(DefaultCaret.NEVER_UPDATE);

See also Rob's nice blog entry about text scrolling

紧拥背影 2024-12-11 02:06:13

通常 JScrollPane 不会这样做,当

JScrollPane scrollPane = ...;
scrollPane.getViewport().getView().setPreferredSize(...);
scrollPane.getViewport().revalidate();

您使用类似“也许您的组件发生变化,以至于您将其视为“滚动””的 代码放大视口时,getViewport().getViewPosition() 保持固定。在这种情况下,您必须在放大视图后使用 scrollPane.getViewport().setViewPosition(...) 调整视图位置。

Usually JScrollPane does not do that, the getViewport().getViewPosition() remains fixed when you enlarge the view port with code like

JScrollPane scrollPane = ...;
scrollPane.getViewport().getView().setPreferredSize(...);
scrollPane.getViewport().revalidate();

Maybe your component changes in such a way that you perceive it as "scrolling". In that case you have to adjust the view position with scrollPane.getViewport().setViewPosition(...) after enlarging the view..

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文