0

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

在这个菜单栏 another 下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);
    }
});

这行得通,但我想知道是否有更好的方法来做到这一点,或者我这样做会有很大的问题,因为如果这行得通,那么我以这种方式工作就可以了,但我希望得到其他人的帮助已经做了类似的东西。

4

1 回答 1

3

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

于 2013-10-25T05:14:00.853 回答