在 Java fxml 应用程序中为动态创建的文本对象应用鼠标点击侦听器

Applying mouse click listener for a dynamically created Text object in Java fxml application

我刚开始学习java fxml 应用程序开发。 我的目标是显示一个带有随机文本的 fxml 屏幕。所以我实现了一个 CustomLabel class 并动态生成了对象,文本如我所料显示在场景中。现在我想在每个标签上应用鼠标点击监听器。我已经尝试使用 awt onClick 侦听器,但没有效果。我正在寻找更好的实施方式。如果有人有任何想法或者在这种情况下我的实现方式有误,请纠正我。 在这里我想展示我的 customLabel class

 public class CustomLabel extends Text{

 public interface ChoseListener{
   void onChosed(String text);
 }
 private boolean onClicked = true;
 ChoseListener choseListener;
 private Random random = new Random();
 private int y = 0;

 public CustomLabel(ChoseListener choseListener,String text,int y){
   super(text);

   this.y = y;
   initLabel();
   startAnimation();
 }

 private void initLabel(){
   //here I would like to add mouseclick listener to this object
     //and I planed to call choseListener.onChosed(this.getText()) inside click listener so my scene can simply retrieve the text.
   this.setFont(new Font("Arial", 25));
 }

 void startAnimation(){
    this.setY(y);
    final Timeline timeline = new Timeline();
    timeline.setCycleCount(Timeline.INDEFINITE);
    timeline.setAutoReverse(true);
    final KeyValue kv = new KeyValue(this.xProperty(), 700);
    final KeyFrame kf = new KeyFrame(Duration.millis(9000), kv);
    timeline.getKeyFrames().add(kf);
    timeline.play();
  }
 }

我有一个工厂 class,它将为请求的场景创建一个 CustomLabel 对象列表。 如果自定义文本对象无法存档,请告诉我。我对 java 基础知识知之甚少。据我所知,有一种方法可以向该对象添加点击监听器。如果你遇到我的问题,请帮助我。

private void initLabel(){
    this.setFont(new Font("Arial", 25));
    this.setOnMouseClicked(e -> choseListener.onChosed(getText()) );
}