Bir JavaFX uygulamasına sahibim ve sahnenin herhangi bir yerinde bir fare tıklaması için bir olay işleyicisi eklemek istiyorum. Aşağıdaki yaklaşım tamam çalışıyor, ama tam olarak istediğim şekilde değil. İşte sorun göstermek için bir örnek: Ben boş uzayda her yerde tıklarsanızFare olayını JavaFX ile herhangi bir yere taşıyın
public void start(Stage primaryStage) {
root = new AnchorPane();
scene = new Scene(root,500,200);
scene.setOnMousePressed(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
System.out.println("mouse click detected! "+event.getSource());
}
});
Button button = new Button("click here");
root.getChildren().add(button);
primaryStage.setScene(scene);
primaryStage.show();
}
, EventHandler
handle()
yöntemini çağırır, ama button
tıklarsanız, handle()
yöntem çağrılır. Uygulamamda birçok düğme ve diğer etkileşimli öğeler var, bu yüzden her bir öğe için el ile yeni bir işleyici eklemek zorunda kalmadan bu öğelerdeki tıklamaları yakalamaya yönelik bir yaklaşıma ihtiyacım var.
Mükemmel çalışır! Ben hala javafx için yeni, çok teşekkürler –