Java 如何仅通过一个事件侦听所有组件?

Java 如何仅通过一个事件侦听所有组件?,java,swing,jbutton,mouselistener,Java,Swing,Jbutton,Mouselistener,问题是, 我有3个文本字段,3个按钮和1个标签。他们的文本是text1,text2text3,but1,but2,but3 我给你举一个我想做什么的例子;当我双击一个按钮时,按钮会将标签的文本更改为按钮的文本。我的意思是当我双击but2时,标签的文本应该是but2 我可以用那个代码做这件事 MouseAdapter ml = new MouseAdapter() { public void mouseClicked(MouseEvent me) {

问题是, 我有3个文本字段,3个按钮和1个标签。他们的文本是text1,text2text3,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有效。我必须为所有组件(文本字段和JButton)编写不同的mouseListener。我怎样才能用一个听众做到这一点?还是一件事?你知道吗?

看看。。。不过,老实说,如果你使用的是
JButton
s,你不应该使用
MouseListener
,而是
ActionListener
。此外,一般来说,大多数用户不会双击
JButton
,因为这样做并不直观,按钮只需单击一次即可激活


请记住,按钮也可以通过键盘激活,
MouseListener
不会被通知

我尝试了getSource,也尝试了getComponent,但我不能使用getText或setText等方法,我想我必须将其转换为JButton或JTextField,这仍然不是我的答案:)事实上,我是一名学生,这是我的项目,所以我应该做:p你有什么想法吗?事实上,你刚刚回答了你自己的问题
if(me.getSource()==jButton1){…}
你也可以使用
if(“jButton1的文本是什么”。equals(me.getActionCommand()){…}