JMenuBar三级菜单

之前在JPopupMenu, Popup, PopupMenu之间摸索了好久,徒劳无功,还好终于解决了,做个记录。

 

在一般的菜单设置中,二级菜单的模式是:JMenu-----JMenuItem

而三级菜单的实质是:JMenu-----JMenu-----JMenuItem,也就是把原来的 JMenuItem 换成了一个新的 JMenu。

例如:

三级菜单例图

 

 

 

 

 

 

OVER

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的三级菜单代码示例: ```java import javax.swing.*; import java.awt.event.*; public class ThreeLevelMenuExample implements ActionListener { JFrame frame; JMenuBar menuBar; JMenu menuLevel1, menuLevel2, menuLevel3; JMenuItem menuItem1, menuItem2, menuItem3, menuItem4, menuItem5, menuItem6, menuItem7, menuItem8; public ThreeLevelMenuExample() { frame = new JFrame("Three Level Menu Example"); menuBar = new JMenuBar(); menuLevel1 = new JMenu("Level 1"); menuLevel2 = new JMenu("Level 2"); menuLevel3 = new JMenu("Level 3"); menuItem1 = new JMenuItem("Item 1"); menuItem2 = new JMenuItem("Item 2"); menuItem3 = new JMenuItem("Item 3"); menuItem4 = new JMenuItem("Item 4"); menuItem5 = new JMenuItem("Item 5"); menuItem6 = new JMenuItem("Item 6"); menuItem7 = new JMenuItem("Item 7"); menuItem8 = new JMenuItem("Item 8"); menuItem1.addActionListener(this); menuItem2.addActionListener(this); menuItem3.addActionListener(this); menuItem4.addActionListener(this); menuItem5.addActionListener(this); menuItem6.addActionListener(this); menuItem7.addActionListener(this); menuItem8.addActionListener(this); menuLevel3.add(menuItem1); menuLevel3.add(menuItem2); menuLevel3.add(menuItem3); menuLevel3.add(menuItem4); menuLevel2.add(menuItem5); menuLevel2.add(menuItem6); menuLevel2.add(menuLevel3); menuLevel1.add(menuItem7); menuLevel1.add(menuItem8); menuLevel1.add(menuLevel2); menuBar.add(menuLevel1); frame.setJMenuBar(menuBar); frame.setSize(300, 300); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public static void main(String[] args) { new ThreeLevelMenuExample(); } public void actionPerformed(ActionEvent e) { // Handle menu item events here } } ``` 该示例创建了一个包含三个级别的菜单,其第三个级别作为第二个级别的子菜单,第二个级别作为第一个级别的子菜单。可以根据需要添加更多的菜单菜单项,并在 `actionPerformed()` 方法处理单击事件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值