我正在尝试创建一个JPanel
,以便在用户点击我的主JFrame
中的按钮时显示。在Netbeans中,我首先使用向导向我的项目添加新的JPanel
,然后使用GUI创建者填写所有内容。我不是要使用以下代码显示JPanel
private void m_jbShowSelAccResultsActionPerformed(java.awt.event.ActionEvent evt)
{
Account selAcc = getSelectedAccount();
if(selAcc != null)
{
AccountView accPanel = new AccountView(Account.getDeepCopy(selAcc));
accPanel.setVisible(true);
}
else
ShowMessage("Please select an account to view");
}
但没有任何反应,不会抛出任何错误,并且JPanel
未显示。然后我将JPanel
更改为JFrame
(Netbeans没有抱怨)。当我使用相同的代码再次尝试时,我收到错误GroupLayout can only be used with one Container at a time
。
如何显示JPanel
/ JFrame
?
答案 0 :(得分:2)
例如,如果你的程序有一个名为cardHolderPanel的JPanel说,它使用了一个CardLayout,由一个名为cardLayout的变量保存,你已经添加了一张"卡"如果帐户名为setAccount(Accoint a)
,则可以通过调用CardLayout show(...)
方法轻松交换视图,例如调用accPanel,如果accPanel有方法设置其当前显示的帐户:
private void m_jbShowSelAccResultsActionPerformed(java.awt.event.ActionEvent evt) {
Account selAcc = getSelectedAccount();
if(selAcc != null) {
accPanel.setAccount(Account.getDeepCopy(selAcc));
cardLayout.show(cardHolderPanel, "Account View");
}
else {
showErrorMessage("Please select an account to view");
}
}