加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

如何在Java Swing的同一窗口中显示菜单和面板?

发布时间:2020-12-15 08:45:58 所属栏目:Java 来源:网络整理
导读:我有一个JMenu,我想根据菜单中的按钮更改窗口的内容.我设法将面板显示为弹出窗口,但我希望它与菜单显示在同一窗口中.到目前为止这是我的代码: public class GUImenu extends JFrame{ private JMenuBar menuBar; private JMenu menu; private JMenu subMenu;
我有一个JMenu,我想根据菜单中的按钮更改窗口的内容.我设法将面板显示为弹出窗口,但我希望它与菜单显示在同一窗口中.到目前为止这是我的代码:

public class GUImenu extends JFrame


{
      private JMenuBar menuBar;   
       private JMenu menu;          
       private JMenu subMenu;    
       private JMenuItem item1;
       private JMenuItem item2;
       private JMenuItem item3;
       private JMenuItem item4;
       private JMenuItem item5;
       private JMenuItem item6;

       public GUImenu()
       {
          super("Example Menu System");// Call the JFrame constructor.
          setDefaultCloSEOperation(JFrame.EXIT_ON_CLOSE);   // Specify an action for the close button.
          buildMenuBar();

          // Pack and display the window.
          pack();
          setSize(1000,250); // set frame size
          setVisible(true);
       }

       private void buildMenuBar()
       {
          // Create the menu bar.
          menuBar = new JMenuBar();

          // Create the file and text menus.
          menu = new JMenu("Menu"); menuBar.add(menu);
          subMenu = new JMenu("Create Customer");
          item1 = new JMenuItem("Ordinary Customer"); subMenu.add(item1);
          item1.addActionListener(new showOrdinaryCust());
          item6 = new JMenuItem("Privileged Customer"); subMenu.add(item6);

          menu.add(subMenu);
          item2 = new JMenuItem("View Customers Who Didn't Pay"); menu.add(item2);
          item3 = new JMenuItem("Remove Client");menu.add(item3);
          item4 = new JMenuItem("Create Order"); menu.add(item4);
          item5 = new JMenuItem("Search..."); menu.add(item5);
          setJMenuBar(menuBar);

       }

       public static void main(String[] args)
       {
          new GUImenu();
       }
       private class showOrdinaryCust implements ActionListener
       {
          public void actionPerformed(ActionEvent event)
          {
              if(event.getSource()==item1)
                  GUIpanel.main(null);

          }
       }
 }

解决方法

我会尝试使用CardLayout填充整个窗口. CardLayout用于在不同视图之间切换其内容.只需为要显示的每个面板设置多张卡片,然后在它们之间切换菜单.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读