java—如何只使用一个事件侦听所有组件?

ivqmmu1c  于 2021-07-13  发布在  Java
关注(0)|答案(1)|浏览(389)

问题是,我有3个文本字段,3个按钮和1个标签。他们的文本是text1,text2 text3,but1,but2,but3。
我给你举一个我想做什么的例子;当我双击一个按钮,按钮将改变标签的文本作为按钮的文本。我的意思是当我双击but2时,标签的文本应该是but2。
我可以用那个代码做这个;

MouseAdapter ml = new MouseAdapter() {
            public void mouseClicked(MouseEvent me) {
                if (me.getClickCount()==2) {

                 jLabel1.setText(jButton1.getText);

                }
            }
        };
        jButton1.addMouseListener(ml);

所以它工作,但它只适用于jbutton1。我必须为所有组件(textfields和jbuttons)编写不同的mouselister。我怎样才能做到这一点与一个听众?还是一件事?你知道吗?

rlcwz9us

rlcwz9us1#

看一看 MouseEvent#getSource ... 不过,老实说,如果你用 JButton 你不应该用 MouseListener ,但是 ActionListener 相反。而且,一般来说,大多数用户不会双击 JButton 因为这样做并不直观,所以按钮只需单击一下就可以激活
记住,按钮也可以通过键盘激活,这 MouseListener 不会被通知

相关问题