java从入门到精髓 -Swing高级JPopupMenuTest右键菜单

import  java.awt.BorderLayout;
import  java.awt.event.ActionEvent;
import  java.awt.event.ActionListener;
import  java.awt.event.MouseAdapter;
import  java.awt.event.MouseEvent;

import  javax.swing.JFrame;
import  javax.swing.JLabel;
import  javax.swing.JMenu;
import  javax.swing.JMenuBar;
import  javax.swing.JMenuItem;
import  javax.swing.JOptionPane;
import  javax.swing.JPopupMenu;

public   class  JPopupMenuTest  extends  JFrame{

    
public  JPopupMenuTest()
    {
        
super ();
        setTitle(
" MenuTest " );
        setBounds(
100 , 100 , 350 , 150 );
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        
final    JLabel   jLabel = new    JLabel( " JPopupMenu " ,JLabel.CENTER); 
        
final  JPopupMenu popupMenu  =   new  JPopupMenu();   // 弹出式菜单
        JMenuItem menuItem  =   new  JMenuItem( " 菜单项名称 " );
        popupMenu.add(menuItem);
        getContentPane().addMouseListener(
new  MouseAdapter(){    // 鼠标事件
             /* public void mouseRelease(MouseEvent e){  //释放鼠标事件
                if(e.isPopupTrigger()){
                    //popupMenu.show(e.getComponent(),e.getX(),e.getY());
                    popupMenu.show(jLabel,e.getX(),e.getY());
                }
            }
*/
            
// public void mouseRelease(MouseEvent e){   // 释放鼠标事件
            
// if(e.isPopupTrigger()){
                
// popupMenu.show(e.getComponent(),e.getX(),e.getY());
                
// popupMenu.show(jLabel,e.getX(),e.getY());
            
// }
            
// }
             public     void    mousePressed(MouseEvent   e) 
            { 
                
// popupMenu.show(e.getComponent(),e.getX(),e.getY());
                
// popupMenu.show(jLabel,e.getX(),e.getY()); 
            }
        });
        jLabel.addMouseListener(
new  MouseAdapter(){    // 鼠标事件
            
            
public     void    mousePressed(MouseEvent   e) 
            { 
                
// if(e.getButton()==3)    // 1左键,2中键,在这里可以设置键值,这里可设置的不正确,请核实下
                
// {
                popupMenu.show(e.getComponent(),e.getX(),e.getY());
                
// }
                
// popupMenu.show(jLabel,e.getX(),e.getY()); 
            }
        });
        
this .getContentPane().add(jLabel); 
        
// popupMenu.show(jLabel,e.getX(),e.getY());
        
// getContentPane().add(popupMenu);
    }
    
/**
     * 
@param  args
     
*/
    
public   static   void  main(String[] args) {
        
//  TODO Auto-generated method stub
        JPopupMenuTest jPopupMenuTest =   new  JPopupMenuTest();
        jPopupMenuTest.setVisible(
true );
    }

}

 

转载于:https://www.cnblogs.com/maxblog/archive/2010/09/22/1833154.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值