0

垂直スクロールバーのみを使用して JGoodies パネルを JScrollPane に配置しようとしています。現在の JScrollPane 幅よりも大きい要素はすべて切り捨てられる必要があります。ただし、これを機能させる方法がわかりません

私が目指している効果の例 良い例え

起きたくないこと 悪い例

私の現在のコードは基本的に次のとおりです。

    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 コンストラクターに渡す
  • JScrollPane で他の垂直スクロール バー オプションを試す

他に何を試すことができるかわかりません。誰か提案はありますか?

4

1 に答える 1