gpt4 book ai didi

java - 将 jscrollbar 附加到另一个组件

转载 作者:行者123 更新时间:2023-11-30 09:36:19 26 4
gpt4 key购买 nike

在我的应用程序中,我有两个 Swing 组件在彼此之上,看起来像下图。问题是橙色组件需要一个垂直滚动条,但我希望组件的右边缘保持完全对齐(并且宽度可以随着用户使应用变宽或变窄而变化)。如果我使用网格布局之类的东西,滚动条会占用空间,然后滚动条会与红色组件的右边缘对齐。

enter image description here

我想我可能需要使用滚动条组件并单独添加它并使用它来控制橙色组件。有没有办法将滚动条附加到另一个组件?我认为不使用滚动 Pane 会很困难。我也乐于接受有关如何解决此问题的任何建议。

最佳答案

实现您建议的方法应该不会太难。将橙色组件包装在 JScrollPane 中,但将滚动 Pane 配置为隐藏两个滚动条。然后,将滚动 Pane 中垂直滚动条的滚动模型设置为独立滚动条的滚动模型。即使滚动 Pane 滚动条被隐藏,如果模型被链接它仍然会滚动。参见 my answer in this question对于某些代码 - 这是一个不同的应用程序,但原理相似。

或者,您可以使用带有可见垂直滚动条的 JScrollPane,并在红色组件旁边添加一个间距组件以使其保持对齐。我认为您可以使用包含两列的 GridBagLayout。第一行包含红色组件和间隔符,第二行包含带有橙色组件的滚动 Pane ,它跨越两列。然后,您只需从 JScrollPane 获取滚动条组件的宽度,并将间隔器的首选宽度设置为相同的值。这种策略的一个缺点是,如果滚动条宽度发生变化(例如,由于 UI 变化),可能很难保持间隔尺寸更新。

关于java - 将 jscrollbar 附加到另一个组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10824102/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com