当前位置: 首页 > 教程 > Java Swing >

Java JMenuItem&JMenu

精华
小牛编辑
116浏览
2023-03-14

1 Java JMenuBar JMenu JMenuItem的介绍

JMenuBar类用于在窗口或框架上显示菜单栏。它可能有几个菜单。

JMenu类的对象是从菜单栏显示的下拉菜单组件。它继承了JMenuItem类。

JMenuItem类的对象添加了一个简单的带标签的菜单项。菜单中使用的项目必须属于JMenuItem或其任何子类。

2 Java JMenuBar JMenu JMenuItem的声明

JMenuBar类声明

public class JMenuBar extends JComponent implements MenuElement, Accessible  

JMenu类声明

public class JMenu extends JMenuItem implements MenuElement, Accessible

JMenuItem类声明

public class JMenuItem extends AbstractButton implements Accessible, MenuElement 

3 Java JMenuBar JMenu JMenuItem的案例1

package cn.xnip;

/**
 * 小牛知识库网: https://www.xnip.cn
 */

import javax.swing.*;
public class MenuExample {
          JMenu menu, submenu;  
          JMenuItem i1, i2, i3, i4, i5;  
          MenuExample(){  
          JFrame f= new JFrame("JMenu和JMenuItem案例-小牛知识库网");
          JMenuBar mb=new JMenuBar();  
          menu=new JMenu("Menu");  
          submenu=new JMenu("Sub Menu");  
          i1=new JMenuItem("Item 1");  
          i2=new JMenuItem("Item 2");  
          i3=new JMenuItem("Item 3");  
          i4=new JMenuItem("Item 4");  
          i5=new JMenuItem("Item 5");  
          menu.add(i1); menu.add(i2); menu.add(i3);  
          submenu.add(i4); submenu.add(i5);  
          menu.add(submenu);  
          mb.add(menu);  
          f.setJMenuBar(mb);  
          f.setSize(400,400);  
          f.setLayout(null);  
          f.setVisible(true);  
    }
    public static void main(String args[])
    {
    new MenuExample();
    }
}

输出结果为:

4 Java JMenuBar JMenu JMenuItem的案例2

package cn.xnip;

/**
 * 小牛知识库网: https://www.xnip.cn
 */

import javax.swing.*;
import java.awt.event.*;
public class MenuExample implements ActionListener{
    JFrame f;
    JMenuBar mb;
    JMenu file,edit,help;
    JMenuItem cut,copy,paste,selectAll;
    JTextArea ta;
    MenuExample(){
        f=new JFrame();
        cut=new JMenuItem("cut");
        copy=new JMenuItem("copy");
        paste=new JMenuItem("paste");
        selectAll=new JMenuItem("selectAll");
        cut.addActionListener(this);
        copy.addActionListener(this);
        paste.addActionListener(this);
        selectAll.addActionListener(this);
        mb=new JMenuBar();
        file=new JMenu("File");
        edit=new JMenu("Edit");
        help=new JMenu("Help");
        edit.add(cut);edit.add(copy);edit.add(paste);edit.add(selectAll);
        mb.add(file);mb.add(edit);mb.add(help);
        ta=new JTextArea();
        ta.setBounds(5,5,360,320);
        f.add(mb);f.add(ta);
        f.setJMenuBar(mb);
        f.setLayout(null);
        f.setSize(400,400);
        f.setVisible(true);
    }
    public void actionPerformed(ActionEvent e) {
        if(e.getSource()==cut)
            ta.cut();
        if(e.getSource()==paste)
            ta.paste();
        if(e.getSource()==copy)
            ta.copy();
        if(e.getSource()==selectAll)
            ta.selectAll();
    }
    public static void main(String[] args) {
        new MenuExample();
    }
}

输出结果为: