如何在java中实现左右键菜单
爱学习的小伙伴们相信都会使用JAVA编程,但是你知道怎么用JAVA语言实现鼠标的左右键吗?下面由应届毕业生小编为你整理的'资料,希望你们喜欢。
在java中实现左右键菜单
在java中使实现右键菜单十分简单,只需用到一个控件:PopupMenu.
首先,需要声明一个PopupMenu对像。
PopupMenu popupMenu1 = new PopupMenu;
然后新建一些子菜单,这里我们使用建立三个菜单项
MenuItem menuItem1 = new MenuItem;
MenuItem menuItem2 = new MenuItem;
MenuItem menuItem3 = new MenuItem;
然后再出初化,并加入监听事件中:
menuItem1.setLabel"菜单1";
menuItem1.addActionListenernew java.awt.event.ActionListener //菜单1的事件监听
public void actionPerformedActionEvent e
menuItem1_actionPerformede; //菜单事件函数
;
menuItem2.setLabel"菜单2";
menuItem3.setLabel"菜单3";
popupMenu1.addmenuItem1;
popupMenu1.addmenuItem2;
popupMenu1.addmenuItem3;
//在this中加入popupMenu1
addpopupMenu1;
这时,菜单已经加进程序中了,现在我们需要做的就是在点击右键时显示。
先在init中加入鼠标的单击事件,
this.addMouseListenernew java.awt.event.MouseAdapter
public void mousePressedMouseEvent e
this_mousePressede;
;
再在this_mousePressede;中将菜单显示出来
void this_mousePressedMouseEvent e
int mods=e.getModifiers;
//鼠标右键
ifmods&InputEvent.BUTTON3_MASK!=0
//弹出菜单
popupMenu1.showthis,e.getX,e.getY;
//菜单1事件
void menuItem1_actionPerformedActionEvent e
//菜单事件1
好了,讲到这里已经全部结束,是不是非常简单啊
这里有一个继承Panel类的完整的例子
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Panel1 extends JPanel
PopupMenu popupMenu1 = new PopupMenu;
MenuItem menuItem1 = new MenuItem;
MenuItem menuItem2 = new MenuItem;
MenuItem menuItem3 = new MenuItem;
public Panel1
try
jbInit;
catchException ex
ex.printStackTrace;
void jbInit throws Exception
this.setLayoutnull;
menuItem1.setLabel"菜单1";
menuItem1.addActionListenernew java.awt.event.ActionListener
public void actionPerformedActionEvent e
menuItem1_actionPerformede;
;
menuItem2.setLabel"菜单2";
menuItem3.setLabel"菜单3";
this.addMouseListenernew java.awt.event.MouseAdapter
public void mousePressedMouseEvent e
this_mousePressede;
;
popupMenu1.addmenuItem1;
popupMenu1.addmenuItem2;
popupMenu1.addmenuItem3;
addpopupMenu1;
void this_mousePressedMouseEvent e
int mods=e.getModifiers;
//鼠标右键
ifmods&InputEvent.BUTTON3_MASK!=0
//弹出菜单
popupMenu1.showthis,e.getX,e.getY;
void menuItem1_actionPerformedActionEvent e
//菜单事件