Ответ 1
Вы смешиваете выражение лямбда с ссылкой на метод.
Изменить
setOnMouseClicked(event -> SomeClass::onClicked);
к
setOnMouseClicked(SomeClass::onClicked);
Мой оригинальный код:
private static void onClicked(MouseEvent event) {
// code to execute
}
// somewhere else in the program:
setOnMouseClicked(event -> SomeClass.onClicked(event));
Но IntelliJ говорит: "Может быть заменен ссылкой на метод", который я не слишком уверен, как это сделать. Я думал, что сделаю это:
setOnMouseClicked(event -> SomeClass::onClicked);
Но потом это говорит мне: "void не является функциональным интерфейсом", но я не хочу ничего возвращать. Я просто хочу, чтобы обработчик выполнялся. Как я могу это исправить?
Спасибо!
Вы смешиваете выражение лямбда с ссылкой на метод.
Изменить
setOnMouseClicked(event -> SomeClass::onClicked);
к
setOnMouseClicked(SomeClass::onClicked);