Just create a new non-anonymous class somewhere. I did it as a nested class inside HelloWorld
:
public class HelloWorld extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
primaryStage.setTitle("Hello World!");
Button btn = new Button();
btn.setText("Say 'Hello World'");
btn.setOnAction(new MyEventHandler());
StackPane root = new StackPane();
root.getChildren().add(btn);
primaryStage.setScene(new Scene(root, 300, 250));
primaryStage.show();
}
public class MyEventHandler implements EvenHandler<ActionEven>
{
@Override
public void handle(ActionEvent event) {
System.out.println("Hello World!");
}
}
}