Панель, которая открывается при добавлении новых компонентов - PullRequest
0 голосов
/ 11 марта 2019

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

Я не новичок с менеджерами по расположению, есть ли менеджер по расположению, который я могу использовать для этого? Если нет, что я могу сделать?

image

1 Ответ

0 голосов
/ 11 марта 2019

Зависит от менеджера компоновки дочерней панели и менеджера компоновки родительской панели.Оба менеджера верстки должны быть в состоянии расти.Исходя из рисунка, вы можете использовать вертикальную BoxLayout для родительской и дочерней панелей.

Когда вы добавляете компонент на видимую панель, вам нужно revalidate() панель для вызова менеджера компоновки, чтобы основной код был:

JButton button = new JButton(...);
panel.add( button );
panel.revalidate();
panel.repaint();

Считать раздел изУчебник по Layout Managers для получения дополнительной информации и рабочих примеров для начала работы.

...