JPopupMenu的简单使用

来源:互联网 发布:天涯营销软件 编辑:程序博客网 时间:2024/05/21 19:38

上次使用这个的时候百度一下子就出来  今天又想用了 结果找了半天愣是没有找到把我气个半死所以这些东西还是自己记下来吧 不然下次又忘记了  那真是欲哭无泪了。。好了 开始吧

 

其实很简单 关键是加两个监听器就行了  一个是pop.addMouseListener(this);
   另一个是this.addMouseListener(this);

 

处理函数

public void mouseReleased(MouseEvent e) {
  // TODO Auto-generated methodstub
  System.out.println("mouseRelesased");
  if(e.isPopupTrigger()){
   System.out.println("trigger");
   pop.show(this,e.getX(),e.getY());

  }
 }

 

最核心的就是上面的几行代码 可怜我居然搞了那么久  看来解决问题的能力亟待提高啊

 

下面是全部的代码

 

package com.show;

import java.awt.EventQueue;
import java.awt.MenuItem;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

import javax.swing.JFrame;
import javax.swing.JMenuItem;
import javax.swing.JPopupMenu;

public class Pop extends JFrame implements MouseListener {
 JPopupMenu pop;
 public Pop(){

 

//核心代码
   pop=new JPopupMenu();
   JMenuItem copy=newJMenuItem("Copy");
   JMenuItem paste=newJMenuItem("Paste");
   JMenuItem selectall=newJMenuItem("Select all");
   pop.add(copy);
   pop.add(paste);
   pop.add(selectall);
   pop.addMouseListener(this);
   this.addMouseListener(this);
  
  this.setSize(400,600);
  this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  this.setVisible(true);
 }
 public void mouseClicked(MouseEvent arg0) {
  // TODO Auto-generated methodstub
  
 }

 public void mouseEntered(MouseEvent arg0){
  // TODO Auto-generated methodstub
  
 }

 public void mouseExited(MouseEvent arg0){
  // TODO Auto-generated methodstub
  
 }

 public void mousePressed(MouseEvent arg0){
  // TODO Auto-generated methodstub
  
 }

 public void mouseReleased(MouseEvent e){
  // TODO Auto-generated methodstub
  System.out.println("mouseRelesased");
  if(e.isPopupTrigger()){
   System.out.println("trigger");
   pop.show(this,e.getX(),e.getY());

 

 }
 }
 public static void main(String[] args){
  Pop p = new Pop();
 }
}

原创粉丝点击