JPopupMenu 多级菜单的应用

时间:2024-03-27 17:51:25

 随便单击右键会出现右键菜单,这里介绍的是右键菜单上建立多级菜单。

JPopupMenu 可以创建右键菜单,它和Jmenu一起可以创建多级菜单

 

import java.awt.Color;

import java.awt.Dimension;

import java.awt.FlowLayout;

import java.awt.Point;

import java.awt.PopupMenu;

import java.awt.event.MouseAdapter;

import java.awt.event.MouseEvent;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

 

import javax.swing.JFrame;

import javax.swing.JMenu;

import javax.swing.JMenuItem;

import javax.swing.JPopupMenu;

 

 

public class JPopupMenuTest {

public static void main(String[] args) {

//整体窗口的使用

final JFrame jFrame=new JFrame("我的第一个窗体");

jFrame.setSize(new Dimension(800, 500));//设置窗体的大小

jFrame.setBackground(Color.BLACK);

jFrame.setLocation(new Point(300, 300));//设置窗体显示的位置

jFrame.setVisible(true);

 

jFrame.setLayout(new FlowLayout());

jFrame.addWindowListener(new WindowAdapter() {//加入关闭窗体事件

@Override

public void windowClosing(WindowEvent e) {

// TODO Auto-generated method stub

System.out.println("系统正在关闭");

System.exit(0);

}

});

 

jFrame.addMouseListener(new MouseAdapter() {

@Override

public void mouseClicked(MouseEvent e) {

// TODO Auto-generated method stub

if(e.getButton()==3){

System.out.println(e.getSource());

System.out.println(e.getComponent());//取得事件发生的时的窗体

JPopupMenu menu=new JPopupMenu();//实例化一个右键菜单

JMenuItem item1=new JMenuItem("1");//这是具体的菜单项目

JMenuItem item2=new JMenuItem("2");

JMenuItem item3=new JMenuItem("3");

menu.add(item1);//加入到菜单

menu.add(item2);

menu.add(item3);

 

JMenu menuaa=new JMenu("ddd");//实例化一个正常菜单,起名字为ddd

 

JMenuItem item1aa=new JMenuItem("1aa");//创建正常菜单的具体内容

JMenuItem item2aa=new JMenuItem("2aa");

JMenuItem item3aa=new JMenuItem("3aa");

menuaa.add(item1aa);//加入到菜单

menuaa.add(item2aa);

menuaa.add(item3aa);

 

menu.add(menuaa);//正常菜单加入到右键菜单中,实现多级菜单

 

menu.show(e.getComponent(), e.getX(), e.getY());//右键菜单的显示,第一个参数要在哪个父组件显示,

//第二、三个参数是显示要显示的位置

}

}

});

}

}

 
JPopupMenu 多级菜单的应用