【问题标题】:Display multiple jPanel based on a variable根据一个变量显示多个jPanel
【发布时间】:2015-05-14 11:01:00
【问题描述】:

我的项目卡住了,我还有 2 天,所以我希望你们能帮助我。

我的 JFrame "UserManager" 显示用户的信息是:

  • 姓名、地址、电话号码等
  • 银行账户

当我必须显示 BankAccount 对象时,我的问题就出现了:因为每个用户都可以拥有无​​限数量的银行账户——每个账户都存储在一个名为“ownedAccounts”的 Arraylist 中——我想在我的 JFrame 中创建小面板。

实例化 jPanel 并不是什么大问题:我想我可以创建一个名为“BankAccount Panel”的类,然后在我的 JFrame 中执行类似的操作:

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

或者类似的东西。

事实上,我正在使用 NetBeans GUI Builder,但我不知道如何将这些 BankAccountPanel 放置在我的 JFrame 上以及如何动态调整 JFrame 本身的大小(我可能需要更多空间来显示每个 BankAccount) 当然,每个面板都必须放在前一个面板之下。

【问题讨论】:

  • 为什么不使用JTable 来显示信息,或者至少使用JListJLabels?当然你不需要多个面板。
  • 如果您有布局问题,请发布MCVE - 不是您的整个程序,只是与面板相关的部分,并确保我们可以将其复制粘贴到我们的 IDE 并运行它。此外,张贴一张您希望 GUI 外观的图片,您可以使用一个简单的 Dawring 程序并粘贴一张图片。

标签: java swing user-interface netbeans jpanel


【解决方案1】:

您可以通过编程方式创建新面板(或您想要的派生面板)并将它们添加到现有组件中。

我建议使用您选择的布局创建一个父面板,并使用.addcomponent() 方法将每个新面板添加到其中。

如果账号数量不限,建议使用Scroll Pane。

【讨论】:

  • 但是一旦我在父面板中添加了 5 个 JPanel,我仍然不知道如何:1)将每个面板放在前一个面板的下方 2)在我的 JFrame 中显示父面板每次我尝试在我的 JFrame 中添加和显示 JPanel 时,程序都会崩溃
  • 你将不得不玩一点。在设计模式和choose layout 中创建父面板以满足您的需求。也许最好的将是 BoxLayout。您也可以阅读another answer 到类似的问题。
猜你喜欢
  • 1970-01-01
  • 2016-06-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多