jackscsnd 2015-05-28 11:03 采纳率: 92.9%
浏览 5815
已采纳

JAVA popupMenu弹出菜单了,怎样实现点击项产生事件

如图:图片说明我弹出的这个PopupMenu ,想在点击添加好友响应事件,但是他ActionListener,该怎么样去
响应事件,求解,刚那个朋友说的不对。求解。

  • 写回答

3条回答

  • JonsonJiao 2015-05-28 14:19
    关注
    
     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.JMenuItem;
    import javax.swing.JPanel;
    import javax.swing.JPopupMenu;
    import javax.swing.JTextArea;
    
    /**
     * 右键弹出菜单测试类
     */
    public class PopupMenuTest extends JFrame {
    
        /**
         * 
         */
        private static final long serialVersionUID = 1282599344832870566L;
        private JTextArea txtArea;
        private JMenuItem menuItem;
        private JPopupMenu popMenu;
    
        public PopupMenuTest() {
            setSize(200, 200);
            setLayout(new BorderLayout());
            JPanel panel = new JPanel();
            add(panel, BorderLayout.CENTER);
            panel.setLayout(new BorderLayout());
    
            txtArea = new JTextArea();
            panel.add(txtArea, BorderLayout.CENTER);
            txtArea.setText("右键清除内容");
    
            popMenu = new JPopupMenu();
    
            menuItem = new JMenuItem("清除");
            menuItem.addActionListener(actionListener);
    
            popMenu.add(menuItem);
    
            txtArea.addMouseListener(mouseAdapter);
        }
    
        /**
         * 文本区鼠标监听事件,右键弹出菜单。
         */
        private MouseAdapter mouseAdapter = new MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent e) {
                // TODO Auto-generated method stub
                if (e.getButton() == MouseEvent.BUTTON3) {
                    popMenu.show(txtArea, e.getX(), e.getY());
                }
            }
        };
    
        /**
         * 弹出菜单响应事件
         */
        private ActionListener actionListener = new ActionListener() {
    
            @Override
            public void actionPerformed(ActionEvent e) {
                // TODO Auto-generated method stub
                if (e.getSource() == menuItem) {
                    txtArea.setText("");
                }
            }
        };
    
        public static void main(String[] args) {
            PopupMenuTest popTest = new PopupMenuTest();
            popTest.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            popTest.setVisible(true);
        }
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)