在JApplet中切换JPanel

时间:2012-10-23 19:21:46

标签: java event-handling jpanel japplet

这是问题所在。我有一个JApplet,在applet中我有两个JPanels,panel1和panel2。每个面板都有一个标签,显示为“panel1”或“panel2”,每个面板都有一个名为“switch”的按钮。当我运行applet时,我只希望panel1可见。当我点击开关按钮时,我想让panel1看不见(或消失),并且panel2可见。我还想点击panel2中的开关按钮切换回panel1。任何人都可以帮我这个吗?

public class MyApplet extends JApplet
{
    private Panel1 panel1;
    private Panel2 panel2;

    public void init()
    {
        setLayout(new FlowLayout());

        panel1 = new Panel1();
        panel2 = new Panel2();

        add(panel1);
        //add(panel2);
    }
}

public class Panel1 extends JPanel
{
    private JLabel label;
    private JButton button;

    public Panel1()
    {
        setLayout(new FlowLayout());

        label = new JLabel("Panel1");
        button = new JButton("Switch1");

        add(label);
        add(button);
    }
}

public class Panel2 extends JPanel
{
    private JLabel label;
    private JButton button;

    public Panel2()
    {
        setLayout(new FlowLayout());

        label = new JLabel("Panel2");
        button = new JButton("Switch2");

        add(label);
        add(button);
    }
}

2 个答案:

答案 0 :(得分:1)

在小程序中添加“内容”,您可以在其中切换面板。

将此面板布局管理器设置为CardLayout

将其他面板添加到“内容”窗格

content.add(aPanel, "PanelA");
content.add(bPanel, "PanelB");

使用CardLayout API切换面板......

cardLayout.show(content, "PanelB");

阅读How to Use CardLayout了解更多详情

答案 1 :(得分:0)

将它们添加到applet中,并在其中一个上添加setVisible(false)。

为按钮添加侦听器。

听众将切换相应面板的setVisible。