首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java桌面应用程序

java桌面应用程序
EN

Stack Overflow用户
提问于 2010-08-15 13:16:44
回答 1查看 266关注 0票数 0

我正在用netbeans创建一个桌面应用程序,我希望在我的菜单栏中,如果我选择了一个新的菜单项,而不是下面的面板是“change frame.so frame.can”,它看起来就像是在一个单独的netbeans上工作,有人能帮我吗?

EN

回答 1

Stack Overflow用户

发布于 2010-08-15 15:21:35

您可以使用Card Layout Managers来实现这样的功能。

下面是完整的示例:

代码语言:javascript
复制
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

class JMenuExample extends JFrame implements ActionListener {

    JMenu menu;
    JPanel panelMain;
    JPanel panelRed;
    JPanel panelBlue;

    CardLayout layout;

    public void createUI() {
        createMenu();
        createPanels();

    }

    private void createPanels() {
        panelMain = new JPanel();
        layout = new CardLayout();
        panelMain.setLayout(layout);

        panelRed = new JPanel();
        panelRed.setBackground(Color.RED);
        panelMain.add(panelRed, "Red");
        panelBlue = new JPanel();
        panelBlue.setBackground(Color.BLUE);
        panelMain.add(panelBlue, "Blue");

        add(panelMain);

    }

    private void createMenu() {
        menu = new JMenu("Change To");
        JMenuItem miRed = new JMenuItem("Red");
        miRed.addActionListener(this);
        menu.add(miRed);
        JMenuItem miBlue = new JMenuItem("Blue");
        miBlue.addActionListener(this);
        menu.add(miBlue);

        JMenuBar bar = new JMenuBar();
        bar.add(menu);

        setJMenuBar(bar);

    }

    public static void main(String[] args) {

        JMenuExample frame = new JMenuExample();
        frame.createUI();
        frame.setSize(150, 200);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);

    }

    @Override
    public void actionPerformed(ActionEvent e) {
        if (e.getSource() instanceof JMenuItem) {
            JMenuItem mi = (JMenuItem) e.getSource();
            layout.show(panelMain, mi.getText());

        }
    }
}

希望这能有所帮助

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3486301

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档