swing中鼠标右击弹出菜单怎么实现

本文介绍如何在Java Swing应用中通过监听鼠标事件实现鼠标右键点击时弹出菜单。示例代码展示了如何创建并显示一个包含多个菜单项的弹出菜单,并在选择菜单项时更新界面。
摘要由CSDN通过智能技术生成
 
//   MenuTest.java  
   
  import   java.awt.*;  
  import   java.awt.event.*;  
  import   javax.swing.*;  
  import   javax.swing.event.*;  
   
  public   class   MenuTest  
  {  
        public   static   void   main(String[]   args)  
        {      
              MenuFrame   frame   =   new   MenuFrame();  
              frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
              frame.show();  
        }  
  }  
   
  /**  
        A   frame   with   a   sample   menu   bar.  
  */  
  class   MenuFrame   extends   JFrame  
  {      
        public   MenuFrame()  
        {      
              setTitle("MenuTest");  
              setSize(DEFAULT_WIDTH,   DEFAULT_HEIGHT);  
   
              popup   =   new   JPopupMenu();  
              JMenuItem   item   =   new   JMenuItem("Click   me");  
              item.addActionListener(new  
                      ActionListener()  
                      {  
                              public   void   actionPerformed(ActionEvent   e)  
                              {  
                                      System.out.println("Hello,   world!");  
                              }  
                      });  
              popup.add(item);  
                                 
   
              getContentPane().addMouseListener(new    
                    MouseAdapter()  
                    {      
                          public   void   mousePressed(MouseEvent   event)  
                          {      
                                if   (event.isPopupTrigger())  
                                      popup.show(event.getComponent(),  
                                            event.getX(),   event.getY());  
                          }  
   
                          public   void   mouseReleased(MouseEvent   event)  
                          {      
                                if   (event.isPopupTrigger())  
                                      popup.show(event.getComponent(),  
                                            event.getX(),   event.getY());  
                          }  
                    });  
        }  
   
        public   static   final   int   DEFAULT_WIDTH   =   300;  
        public   static   final   int   DEFAULT_HEIGHT   =   200;      
   
        private   JPopupMenu   popup;  
  }  
   
  /**  
        A   sample   action   that   prints   the   action   name   to   System.out  
  */  
  class   TestAction   extends   AbstractAction  
  {      
        public   TestAction(String   name)   {   super(name);   }  
         
        public   void   actionPerformed(ActionEvent   event)  
        {  
              System.out.println(getValue(Action.NAME)  
                    +   "   selected.");  
        }  
  }  
 
 
 
2
 
 
鼠标右键的使用和启动弹出式菜单
付洪忱(原创)
06/05/03
本文将通过实例介绍如何用鼠标右键启动弹出式菜单,以及如何执行菜单的
指令。

大家对弹出式菜单(Popup Menu)的使用相信都非常熟悉了。
我们将通过如下的例子解释如何在Java中使用右键和弹出式菜单:主程序是一个Java Application,
叫UseRightButton,它上面是一个JPanel,在此JPanel上有一个JLabel,用以显示弹出式菜单
中指令执行的结果。我们要求当用鼠标右键点击JLabel或者JPanel上时弹出一个菜单,菜单
中有"Say Hello","Say Hello again","Say Byebye"三个选项。选择其中的任何一个指令,将在
JLabel中显示对应的String.

在本例中有两个Class。一个是UseRightButton (Java应用
程序,另一个是MyPopupMenu
(弹出式窗口)。UseRightButton的源
程序如下:



)
  1. import javax.swing.*;
  2. import javaMouseEvent; .awt.event.java/awt/event/MouseEvent.java.html" target="_blank">
  3. import javaMouseListener; .awt.event.java/awt/event/MouseListener.java.html" target="_blank">
  4. import java.awt.*;
  5.  
  6. public class UseRightButton extends javaJFrame <
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值