2015-05-14 2 views
1

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

Мой JFrame "UserManager" отображает информацию пользователя, которые являются:

  • Имя, адрес, номер телефона и т.д.
  • BankAccounts

Моя проблема возникает, когда я должен отображать объекты ВагЛАссоипЬ : поскольку каждый пользователь может иметь неограниченное количество банковских счетов - каждый из них хранится в Arraylist под названием «ownedAccounts» - я хочу создать небольшие панели внутри моего JFrame.

Инстанцирование в JPanels не большая проблема: я думал, что я мог бы создать класс под названием «BankAccount Panel», а затем сделать что-то подобное в моей JFrame:

for(BankAccount b:thisUser.ownedAccounts){ 
    BankAccountPanel newpanel; 
    } 

Или что-то подобное.

Дело в том, что я использую NetBeans GUI Builder, и я понятия не имею, как я могу поместить эти BankAccountPanels на моей JFrame и как динамически изменять размер самого JFrame (я, возможно, потребуется больше места, чтобы показать все BankAccount) Конечно, каждая панель должна быть помещена под предыдущую.

+0

Почему бы не использовать 'JTable' для отображения информации или, по крайней мере,' JList' или 'JLabel'? Конечно, вам не нужны несколько панелей. – user1803551

+0

Если у вас проблемы с компоновкой, отправьте сообщение [MCVE] (http://stackoverflow.com/help/mcve) - не вся ваша программа, просто часть, относящаяся к панелям, и убедитесь, что мы можем скопировать ее в наш IDE и запустите его. Кроме того, разместите изображение того, что вы хотите, чтобы графический интерфейс выглядел так, вы можете использовать простую программу dawring и вставить изображение. – user1803551

ответ

0

Вы можете создавать новые панели (или производные панели вашего желания) программно и добавлять их в существующий компонент.

Предлагаю создать одну родительскую панель с макетом по вашему выбору и добавить в нее каждую новую панель с помощью метода .addcomponent().

Если количество счетов не ограничено, предлагаю использовать панель прокрутки.

+0

Но как только я добавить, например, 5 JPanels внутри родительской панели, я до сих пор не имеют ни малейшего представления о том, как: 1) Поместите каждую панель один ниже предыдущего один 2) Отображение родительской панели в моей JFrame Каждый раз, Я пытаюсь добавить и показать JPanel в моем JFrame, программа просто сработает – kn0bbulo

+0

Вам придется немного поиграть с ним. Создайте родительскую панель в режиме дизайна и [выберите макет] (https://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html) в соответствии с вашими потребностями. Возможно, лучшим будет _BoxLayout_. Вы также можете прочитать [другой ответ] (http://stackoverflow.com/a/12660321/4809220) на аналогичный вопрос. – DangeMask

Смежные вопросы