关于JPanels和菜单最好的

时间:2013-10-25 05:07:31

标签: java swing layout jpanel jmenuitem

我打算制作一个在contentPane顶部有一个菜单栏的程序。

在这个菜单栏下另一个JPanel,这是我做的(它有效),但我不知道这是否是最佳方式:

我用不同的按钮制作了很多JPanel,我希望JMenuItem更改屏幕(JPanel

所以我为设置特定JMenuItem的每个JPanel做了什么(所有面板在GridBagLayout中处于相同位置,但都以.setVisible(false);开头)

jemnuitem1.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent arg0) {

        jpanelItem1.setVisible(true);
        jpanelItem2.setVisible(false);
        jpanelItem3.setVisible(false);
    }
});     

jemnuitem2.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent arg0) {

        jpanelItem1.setVisible(false);
        jpanelItem2.setVisible(true);
        jpanelItem3.setVisible(false);
    }
});     

jemnuitem3.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent arg0) {

        jpanelItem1.setVisible(false);
        jpanelItem2.setVisible(false);
        jpanelItem3.setVisible(true);
    }
});

这有效,但我想知道是否有更好的方法可以做到这一点,或者我可以有一个大问题这样做,因为如果这样做,那对我来说很好用方式,但我希望得到类似的其他人的帮助。

1 个答案:

答案 0 :(得分:3)

您应该使用CardLayout。然后你就可以切换可见的面板而不是像现在这样编写笨拙的代码。