Вот быстрый подкласс JButton, который делает то, что вы хотите. Да, это можно сделать без создания подклассов, но если вы хотите изменить поведение JButton (чтобы у него было дополнительное состояние, как в этом случае), подклассификация является хорошей альтернативой.
public class CountButton extends JButton implements ActionListener {
private int count;
CountButton() {
super();
}
@Override
public void actionPerformed(ActionEvent ae) {
++count;
}
public int getCount() {
return count;
}
} // CountButton class