如何在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用于在不同视图之间切换其内容.只需为要显示的每个面板设置多张卡片,然后在它们之间切换菜单.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |