如何在java中实现左右键菜单

2020-10-04 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.addActionListener(new java.awt.event.ActionListener() { //菜单1的事件监听

  public void actionPerformed(ActionEvent e) {

  menuItem1_actionPerformed(e); //菜单事件函数

  }

  });

  menuItem2.setLabel("菜单2");

  menuItem3.setLabel("菜单3");

  popupMenu1.add(menuItem1);

  popupMenu1.add(menuItem2);

  popupMenu1.add(menuItem3);

  //在this中加入popupMenu1

  add(popupMenu1);

  这时,菜单已经加进程序中了,现在我们需要做的`就是在点击右键时显示。

  先在init中加入鼠标的单击事件,

  this.addMouseListener(new java.awt.event.MouseAdapter() {

  public void mousePressed(MouseEvent e) {

  this_mousePressed(e);

  }

  });

  再在this_mousePressed(e);中将菜单显示出来

  void this_mousePressed(MouseEvent e) {

  int mods=e.getModifiers();

  //鼠标右键

  if((mods&InputEvent.BUTTON3_MASK)!=0){

  //弹出菜单

  popupMenu1.show(this,e.getX(),e.getY());

  }

  }

  //菜单1事件

  void menuItem1_actionPerformed(ActionEvent 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();

  }

  catch(Exception ex) {

  ex.printStackTrace();

  }

  }

  void jbInit() throws Exception {

  this.setLayout(null);

  menuItem1.setLabel("菜单1");

  menuItem1.addActionListener(new java.awt.event.ActionListener() {

  public void actionPerformed(ActionEvent e) {

  menuItem1_actionPerformed(e);

  }

  });

  menuItem2.setLabel("菜单2");

  menuItem3.setLabel("菜单3");

  this.addMouseListener(new java.awt.event.MouseAdapter() {

  public void mousePressed(MouseEvent e) {

  this_mousePressed(e);

  }

  });

  popupMenu1.add(menuItem1);

  popupMenu1.add(menuItem2);

  popupMenu1.add(menuItem3);

  add(popupMenu1);

  }

  void this_mousePressed(MouseEvent e) {

  int mods=e.getModifiers();

  //鼠标右键

  if((mods&InputEvent.BUTTON3_MASK)!=0){

  //弹出菜单

  popupMenu1.show(this,e.getX(),e.getY());

  }

  }

  void menuItem1_actionPerformed(ActionEvent e) {

  //菜单事件

  }

  }


【如何在java中实现左右键菜单】相关文章:

Java中如何实现显示动态的时间11-23

讲解Java的Spring框架中的AOP实现11-25

如何正确实现Java中的hashCode方法11-25

如何在Mac上安装Java12-03

Java 队列实现原理及简单实现代码12-02

java利用反射实现动态代理实现代码11-28

JAVA实现生成GUID的方法12-04

JAVA实现电子商务系统12-03

权重随机算法的java实现12-02

java中什么是字段 如何设置java的运行环境