java中怎么处理菜单事件?实例展示

BSO 2020-11-20 15:24:47 java常见问答 4874

java中关于菜单的有关内容是非常多的,也会涉及到具体的操作,所以需要我们花费一定的时间去了解和学习。今天就用实际的代码为大家展示一下,一起来看看吧。

首先说一下怎么处理菜单事件?

菜单的事件源是用鼠标点击某个菜单项。处理该事件的接口是ActionListener,要实现的接口方法是actionPerformed(ActionEvent e),获得事件源的方法getSource().

为大家举例说明一下:

小应用程序示意窗口有菜单条的实现方法。设有一个按钮,当按钮处于打开窗口状态时,单击按钮将打开一个窗口,窗口设有一个菜单条,有两个菜单,每个菜单又各有三个菜单项。当一个菜单项被选中时,菜单项监视方法在文本框中显示相应菜单项被选中字样。

实际代码如下所示:

 import java.applet.*
     import javax.swing.*;
 import java.awt.*;
 import java.awt.event.*;
 class MenuWindow extends JFrame implements ActionListener
 {
     public static JtextField text;
     private void addItem(JMenu Menu, String menuName, ActionListener listener)
     {
         JMenuItem anItem = new JMenuItem(menuName);
         anItem.setActionCommand(menuName);
         anItem.addActionListener(listener);
         Menu.add(anItem);
     }
     public MenuWindow(String s, int w, int h)
     {
         setTitle(s);
         Container con = this.getContentPane();
         con.setLayout(new BorderLayout());
         this.setLocation(100, 100);
         this.setSize(w, h);
         JMenu menu1 = new JMenu("体育");
         addItem(menu1, " 跑步", this);
         addItem(menu1, " 跳绳", this);
         addItem(menu1, "打球", this);
         JMenu menu2 = JMenu("娱乐");
         addItem(menu2, "唱歌", this);
         addItem(menu2, "跳舞", this);
         addItem(menu2, "游戏", this);
         JMenuBar menubar = new JMenuBar();
         text = new JTextField();
         menubar.add(menu1);
         menubar.add(menu2);
         setJMenuBar(MenuBar);
         con.add(text, BorderLayout.NORTH);
     }
     public void actionPerformed(ActionEvent e)
     {
         text.setText(e.getActionCommand() + "菜单项被选中!");
     }
 }
 public class Example6_5 extends Applet implements ActionListener
 {
     MenuWindow window;
     JButton button;
     boolean bflg;
     public void init()
     {
         button = new JButton("打开我的体育娱乐之窗");
         bflg = true;
         window = new MenuWindow("体育娱乐之窗", 100, 100);
         button.addActionListener(this);
         add(button);
     }
     public void actionPerformed(ActionEvent e)
     {
         if (e.getSource() == button)
         {
             if (bflg)
             {
                 window.setVisible(true);
                 bflg = false;
                 button.setLabel("关闭我的体育娱乐之窗");
             }
             else
             {
                 window.setVisible(false);
                 bflg = true;
                 button.setLabel("打开我的体育娱乐之窗");
             }
         }
     }
 }

然后为大家补充一下嵌入子菜单:

创建了一个菜单,并创建多个菜单项,其中某个菜单项又是一个(含其他菜单项的)菜单,这就构成菜单嵌套。例如,将上述程序中的有关代码改成如下所示:

Menu menu1, menu2, item4;
MenuItem item3, item5, item6, item41, item42;

另插入以下代码创建item41和item42菜单项,并把它们加入到item4菜单中,代码如下:

item41 = new MenuItem(“东方红”);
item42 = new MenuItem(“牡丹”);
item4.add(item41);
item4.add(item42);

则点击item4菜单时,又会打开两个菜单项供选择。

以上就是关于java中怎么处理菜单事件的实例展示了,还补充了嵌入式菜单的有关内容了。如果你想要了解更多的java经典例子,敬请关注奇Q工具网。

推荐阅读:

java菜单类型有哪几种?详细解析

springmvc如何实现两级联动菜单?实现方式详解

java中菜单条和菜单项,详细解析