Я пытаюсь иметь кнопку в классе Launcher и сделать функцию обработки в другом классе, как показано ниже.Однако, функция обработки, похоже, не работает.Ничего не напечатано.
Я думаю, что функция button.setOnAction (еще один класс) является причиной.В некоторых уроках говорится, что параметр setOnAction () - это то место, где я помещаю функцию обработки.Поэтому я поместил туда другой класс.
Я знаю, что могу просто сделать функцию обработки в том же классе или просто использовать лямбду.Тем не менее, я пытаюсь проверить, работает ли этот способ.
public class Launcher extends Application{
public static Button button;
AnotherClass anotherclass;
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage myStage) throws Exception {
button = new Button("Click me");
button.setOnAction(anotherclass);
StackPane layout = new StackPane();
layout.getChildren().add(button);
Scene scene = new Scene(layout, 300, 250);
myStage.setScene(scene);
myStage.show();
}
}
public class AnotherClass implements EventHandler<ActionEvent>{
@Override
public void handle(ActionEvent event) {
if(event.getSource()== Launcher.button) {
System.out.println("print");
}
}
}
Может кто-нибудь помочь мне сделать функцию обработки в другом классе, как у кнопки?