Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
4.0k views
in Technique[技术] by (71.8m points)

Java Swing 鼠标点击列表事件,多次触发问题

下面是一个鼠标点击事件和按钮事件,我选中了一行,然后点击按钮。第一次选中会弹出一个框,但是当我第二次选中就会弹出两个,第三次弹出三个,是哪里出现了问题吗?

jt.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent e) {
                int row = jt.getSelectedRow();
                if (row!=-1) {
                    /*预约按钮事件*/
                    button2.addActionListener(new ActionListener(){
                        public void actionPerformed(ActionEvent e1) {
                            //System.out.println(row);    
                            String a = jt.getValueAt(jt.getSelectedRow(),0).toString().trim();
                            try {
                                new BookingView(a);
                            } catch (Exception e2) {
                                e2.printStackTrace();
                            }
                        }
                    });
                }
            }
        });

image.png
image.png
上图输出的是 行坐标,第一个点了第一行再点预约输出0,第二次点了第二行再点预约,第三次点了第三行再点预约输出三个坐标。
应该是按钮事件被多次创建?鼠标事件被多次创建?找了很久找不到。。。


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

原因是创建了多个BookingView
可以判断如果创建了,只是设置a就好,不要重新new,觉得可以点个关注


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

2.1m questions

2.1m answers

60 comments

57.0k users

...