gpt4 book ai didi

java - 将 JGoodies Panel 的最大宽度设置为 JScrollPane 大小

转载 作者:行者123 更新时间:2023-12-01 14:23:30 25 4
gpt4 key购买 nike

我正在尝试将 JGoodies 面板放入只有垂直滚动条的 JScrollPane 中;任何大于当前 JScrollPane 宽度的元素都应被截断。但是我无法找到一种方法来完成这项工作

我想要的效果示例 Good example

我不想发生的事 bad example

我当前的代码基本上是:

    FormLayout locationsLayout = new FormLayout("15dlu, pref, 5dlu, pref, 5dlu, pref:grow", "");
locationsBuilder = new DefaultFormBuilder(locationsLayout)
.background(Color.WHITE)
.lineGapSize(Sizes.ZERO);
locationsPane = new JScrollPane(locationsBuilder.getPanel());
locationsPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
locationsPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);

//...Sometime later, the user adds a folder...
FormLayout headerLayout = new FormLayout("pref, pref", "pref");
DefaultFormBuilder headerBuilder = new DefaultFormBuilder(headerLayout)
.background(Color.WHITE)
.lineGapSize(Sizes.ZERO);
headerBuilder.add(curContainer.getGuiHeader(), CC.xy(1, 1));
headerBuilder.add(curContainer.getGuiTablePrefix(), CC.xy(2, 1));
locationsBuilder.leadingColumnOffset(0);
locationsBuilder.append(headerBuilder.getPanel(), 6);

我尝试过的事情

  • min、pref、grow、fill 等的各种排列。没有任何改变此行为
  • 将实现 Scrollable 的自定义 JPanel 传递给locationsBuilder DefaultFormBuilder 构造函数,如文档所示 here , here ,或here
  • 尝试 JScrollPane 上的其他垂直滚动条选项

我不知道我还能尝试什么。有人有什么建议吗?

最佳答案

我永远无法找到这个特定设置的确切答案。我的猜测是 JGoodies 模具可以很好地处理嵌套布局。

我最终通过在整个位置滚动 Pane 中仅使用一个面板来“修复”此问题。这使得布局有点复杂:多个单元格现在必须跨越列,并且我必须手动调整列偏移。但最终还是有效的

关于java - 将 JGoodies Panel 的最大宽度设置为 JScrollPane 大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17346274/

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