qq_35918413 2019-05-07 11:00 采纳率: 0%
浏览 328

用鼠标监听器输出JTable单元格的值,为什么每次输出对应单元格的值后还会输出之前的点击所对应的值?

给JTable添加鼠标右键监听器,点击后可弹出菜单,选择菜单中的“打开”就可输出所选行的第4列的内容,但是每次点击后不仅会输出本次点击的内容,还会顺序输出之前所有点击的内容,但是我只需要当前点击的内容,求大神指点如何修改。具体代码段如下及运行结果如下:

    //为表格添加鼠标右键点击事件
    table.addMouseListener(new MouseAdapter() {
        public void mouseClicked(MouseEvent e) {
            //判断是否为鼠标的右键(BUTTON3)
            if(e.getButton() == MouseEvent.BUTTON3) {
                int focusedRowIndex = table.rowAtPoint(e.getPoint());
                String filePath = (String) table.getValueAt(focusedRowIndex, 4);
                System.out.print(focusedRowIndex+",");
                if(focusedRowIndex == -1) {
                    return;
                }
                //将表格所选项设为当前右键点击的行
                table.setRowSelectionInterval(focusedRowIndex, focusedRowIndex);
                //弹出菜单
                jpm.show(table,e.getX(),e.getY());



                //打开
                jm1.addActionListener(new ActionListener() {
                    @Override
                    public void actionPerformed(ActionEvent e) throws ArrayIndexOutOfBoundsException{
                        System.out.println(filePath);
                    }
                });
            }

        }
    });

    ![图片说明](https://img-ask.csdn.net/upload/201905/07/1557197814_716701.png)
  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 微信公众号自制会员卡没有收款渠道啊
    • ¥15 stable diffusion
    • ¥100 Jenkins自动化部署—悬赏100元
    • ¥15 关于#python#的问题:求帮写python代码
    • ¥20 MATLAB画图图形出现上下震荡的线条
    • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
    • ¥15 perl MISA分析p3_in脚本出错
    • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
    • ¥15 ubuntu虚拟机打包apk错误
    • ¥199 rust编程架构设计的方案 有偿