Я пытаюсь поместить панель 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 и т. д. Ничего не изменило это поведение.
- Передача пользовательской панели JPanel, которая реализует Scrollable, в конструктор DefaultFormBuilderlocationBuilder, как описано в документации #1252514">здесь, здесь, или здесь
- Пробуем другие варианты вертикальной полосы прокрутки на JScrollPane
Я не знаю, что еще я могу попробовать. У кого-нибудь есть предложения?