垂直スクロールバーのみを使用して 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 で他の垂直スクロール バー オプションを試す
他に何を試すことができるかわかりません。誰か提案はありますか?