Я думаю, что это то, что вы ищете, хотя я бы вряд ли рекомендовал его:
class ButtLis implements ActionListener {
private JTextArea text;
public ButtLis(JTextArea text) {
this.text = text;
}
@Override
public void actionPerformed(ActionEvent e) {
JButton button = (JButton)e.getSource(); // Warning! This is not good coding practice, because you don't know that the source will be a button
text.append(button.getText());
}
}
Вместо этого я бы рекомендовал:
JButton button1 = new JButton("One");
button1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
text.append("one");
}
});
, который использует «анонимный внутренний класс» для определения слушателя действий. Для Button2 вы бы сказали подобное. Преимущества здесь в том, что прослушиватель действий находится рядом с кнопкой, на которой он работает, и это мешает вам иметь единственный ActionListener, который должен проверить, откуда произошло каждое событие (используя e.getSource()
).