Как динамически добавить jPanels в JScrollPane, который был добавлен в JFrame с помощью NetBeans GUI creator?


Это может быть глупый вопрос, и я бы предпочел не использовать встроенный графический редактор NetBeans, но меня попросили.

Проблема, с которой я столкнулся, заключается в том, что я пытаюсь добавить JPanel (сам содержащий несколько меток) к уже существующей JScrollPane, которая находится на JFrame. JScrollPane и JFrame были созданы с помощью графического редактора NetBeans.

У меня есть ArrayList (неопределенного размера) ордеров, и для каждого ордера в ArrayList я пытаюсь создать JPanel и положите его в JScrollPane.

У меня возникли проблемы с добавлением JPanel в JScrollPane, а затем добавлением меток в JPanel. Я посмотрел учебники в интернете, но все они нуждаются в ссылке на JFrame... но поскольку я использую встроенный графический редактор, который поставляется с NetBeans, я не могу ссылаться на JFrame в коде.

Код, который я сейчас использую:

    FlowLayout experimentLayout = new FlowLayout(FlowLayout.CENTER);
    JPanel panel = new JPanel();
    panel.setLayout(experimentLayout);
    JPanel panel2 = new JPanel();
    JLabel label2 = new JLabel("Hello");
    scrollPane.add(panel); //ScrollPane is already on form (put there by GUI editor)
    panel.add(panel2);
    panel2.add(label2);

Любая помощь о том, как добавить эти JPanel в JScrollPane будет очень признательна!

2 3

2 ответа:

Без кода невозможно быть уверенным на 100%, но вы сделаете это так же, как если бы вы сами создали пользовательский интерфейс.

jScrollPane1.setViewportView(yourPanel);

Если у вас нет прямого доступа к внутренним частям фрейма, то вам нужно предоставить какие-то методы доступа, чтобы позволить вам это сделать.

Я все понял! Я использовал прокрутки.getViewport ().добавить (панель); вместо просто .добавить :)

Спасибо за помощь :)