Установите максимальную ширину панели JGoodies в размер JScrollPane

Я пытаюсь поместить панель 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, в конструктор locationBuilder DefaultFormBuilder, как описано здесь, здесь или здесь
  • Попытка других вариантов вертикальной полосы прокрутки на JScrollPane

Я не знаю, что еще я могу попробовать. У кого-нибудь есть предложения?

1 ответ

Решение

Я никогда не мог найти точный ответ на эту конкретную установку. Я предполагаю, что JGoodies умирает немного хорошо справиться с вложенными макетами.

В итоге я "исправил" это, используя только одну единственную панель для всей области прокрутки местоположений. Это усложняло компоновку: теперь несколько ячеек должны были занимать столбцы, и мне приходилось вручную корректировать смещение столбцов. Но в конце концов это работает

Другие вопросы по тегам