将Panel动态添加到JFrame

时间:2014-10-17 06:52:20

标签: java swing dynamic jpanel

菜单栏下面有空白区域,我需要在动作事件中填充动态面板。假设用户点击File-> New将新的Panel添加到空白区域。 我尝试创建一个面板并添加动作,但它没有起作用。

JFrame.add(panel);
JFrame.revalidate();
JFrame.repaint();

我应该如何进行,最好的方法是什么。

1 个答案:

答案 0 :(得分:0)

使用Cardlayout

卡片布局顶部只显示一个组件,而其他组件则隐藏(有点像卡片组)。

JPanel cards = new JPanel(new CardLayout());
cards.add(card1, "New");
cards.add(card2, "Save");
cards.add(card3, "Edit");

在菜单项或按钮上使用动作侦听器。当用户选择菜单项时,例如“新”,那么您可能会有一些看起来像这样的代码:

public void actionPerformed(ActionEvent e) { 

    CardLayout cardLayout = (CardLayout) cards.getLayout();
    cardLayout.show(cards, "New");

}