Рекурсия должна происходить в своем собственном методе, ActionListener
должна быть инициацией этой рекурсии.
Что-то вроде
fibonacci.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String fibonacciStr = fibonacciRecursion(0, 1, 10);
}
}
String fibonacciRecursion(int value0, int value1, int depth){
StringBuilder fibStr = new StringBuilder();
if(depth > 0){
fibStr.append(fibonacciRecursion(value1, value0 + value1, depth-1));
}
return fibStr;
}
Поскольку вы не упомянули никаких ограничений, параметр глубины подразумевает, что ваша рекурсия может быть остановлена, чтобы избежать SO.
Я не проверял это, но этого должно быть достаточно, чтобы приблизить вас к решению вашего собственного дизайна.
Редактировать
Согласно@ Tom Hawtin - комментарий tackline, это также можно сделать с помощью лямбда-выражения
fibonacci.addActionListener(actionEvent->
System.our.println(fibonacciRecursion(0, 1, 10)));