菜鸟学JAVA之JMenu

时间:2023-01-26 18:50:36

在java的可视化编程中,它亦提供了菜单栏相应的使用。

JAVA中的菜单

java中的菜单,可以通过引入 java.swing来实现。
在java中菜单有如下三大组件:JMenuBar,JMenu,JMenuItem。

JMenuBar是相关的菜单栏,一般一个窗体中有一个就可以了;
JMenu有两种功能,一是在菜单栏中显示,二是当它被加入到另一个JMenu中时,会产生引出子菜单的效果;
JMenuItem是JMenu目录下的菜单。

菜单的使用

以下的代码,将在窗体中添加一个菜单栏。同时有“新建”与“哪里”两项内容,在“哪里”中,又有两个子目录。
import java.awt.*;
import javax.swing.*;

public class abc {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		JFrame frm=new JFrame("This is a test!");    //实例化一个窗体
		frm.setSize(200, 200);                      
		frm.setLocation(150, 150);                   
		
		JMenuBar mb=new JMenuBar();                 //实例菜单栏
		JMenu newj=new JMenu("新建");                //实例一个菜单项
		JMenu oldj=new JMenu("哪里");
		JMenuItem mi1=new JMenuItem("一个");         //实例子目录
		JMenuItem mi2=new JMenuItem("例子");
		
		frm.setJMenuBar(mb);                        //设置菜单栏
		mb.add(newj);                               //添加菜单项
		mb.add(oldj);
		oldj.add(mi1);                              //添加子目录
		oldj.add(mi2);
		

		frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
		frm.setVisible(true);                                
	}

}

产生子菜单

import java.awt.*;
import javax.swing.*;

public class abc {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		JFrame frm=new JFrame("This is a test!");    //实例化一个窗体
		frm.setSize(200, 200);                      
		frm.setLocation(150, 150);                   
		
		JMenuBar mb=new JMenuBar();                 //实例菜单栏
		JMenu newj=new JMenu("新建");                //实例一个菜单项
		JMenu oldj=new JMenu("哪里");
		JMenuItem mi1=new JMenuItem("一个");         //实例子目录
		JMenuItem mi2=new JMenuItem("例子");
		
		frm.setJMenuBar(mb);                        //设置菜单栏
		mb.add(newj);                               //添加菜单项
		newj.add(oldj);                             //加入子菜单
		oldj.add(mi1);                              //添加子目录
		oldj.add(mi2);
		

		frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
		frm.setVisible(true);                                
	}

}

两个代码所生成的对象是相等的。然而通过把一个JMenu加入到另一个JMenu中,便可以生成一个子菜单。