随便单击右键会出现右键菜单,这里介绍的是右键菜单上建立多级菜单。
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());//右键菜单的显示,第一个参数要在哪个父组件显示,
//第二、三个参数是显示要显示的位置
}
}
});
}
}