如何将一个动作侦听器分配给几个按钮?

use*_*179 0 java swing jbutton actionlistener

button1.addActionListener(new ActionListener(){

            @Override
            public void actionPerformed(ActionEvent ae) {
                exite.setEnabled(true);
            }

        });

button2.addActionListener(new ActionListener(){

            @Override
            public void actionPerformed(ActionEvent ae) {
                exite.setEnabled(true);
            }

        });


button3.addActionListener(new ActionListener(){

            @Override
            public void actionPerformed(ActionEvent ae) {
                exite.setEnabled(true);
            }

        });
Run Code Online (Sandbox Code Playgroud)

我这里有3个按钮,但他们做同样的事情.它需要一些代码空间.如何将它们全部分组并分配给一个ActionListener?

像这样的东西.我不知道应该怎么做.

button1.button2.button3.addActionListener(new ActionListener(){

            @Override
            public void actionPerformed(ActionEvent ae) {
                exite.setEnabled(true);
            }

        });
Run Code Online (Sandbox Code Playgroud)

Jon*_*eet 6

只需ActionListener先将其分配给另一个变量:

ActionListener listener = new ActionListener() {
    ...
};
button1.addActionListener(listener);
button2.addActionListener(listener);
button3.addActionListener(listener);
Run Code Online (Sandbox Code Playgroud)

毕竟它只是一个参考 - 这里唯一的"特殊"事情是使用匿名内部类来创建一个实例ActionListener.

如果您想要对所有按钮执行多项操作,您可能希望将它们放入集合中,而不是为它们分配三个单独的变量.