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 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊
  • ¥15 安装svn网络有问题怎么办