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