Я пытаюсь прикрепить лямбда-выражение к кнопке, чтобы запустить метод. Я хочу, чтобы лямбда находилась вне метода Main класса и вне метода. Я импортировал javafx.event.ActionEvent, чтобы не перепутать с java.awt.event.ActionEvent. Возможно, я не объясняю проблему понятным способом, но, надеюсь, код поможет.
Примечание. Я пытался использовать лямбда-выражения внутри метода, вне метода, просто чтобы посмотреть, работает ли он, но не работает ли он вне.
Сообщение об ошибке: «Не удается разрешить symbol'setOnAction»
package sample;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.scene.Node;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.stage.Stage;
import javafx.event.ActionEvent;
public class DashboardController {
@FXML
private Label lblHidden;
@FXML
private Button btnReveal;
@FXML
void backToLogin(ActionEvent event) throws Exception{
Parent myRoot = FXMLLoader.load(getClass().getResource("login.fxml"));
Scene loginScence = new Scene(myRoot);
Stage myStage = (Stage)((Node)event.getSource()).getScene().getWindow();
myStage.setScene(loginScence);
myStage.setTitle("Login");
myStage.show();
//Lambda works though not need here - inside a method
btnReveal.setOnAction(e->{
lblHidden.setText("Lambda inside a method - works");
});
}
//Lambda doesn't work here - -- I want it to work here
btnReveal.setOnAction(e->{`enter code here`
lblHidden.setText("Lambda doesn't work here");
});
}