Java 在FXML中传递数组参数

Java 在FXML中传递数组参数,java,javafx,fxml,Java,Javafx,Fxml,我正在尝试创建一个存储图像列表的自定义控件。理想情况下,在FXML文件中,我可以通过传递一个参数来实例化我的控件,该参数是指向所述图像的文件路径列表 我已经得到了从FXML加载的控件,很好,这是构造函数 public Gallery(@NamedArg("images") List<String> images) { this.imageQueue = new PriorityQueue<>(images); this.load("gallery.fxml

我正在尝试创建一个存储图像列表的自定义控件。理想情况下,在FXML文件中,我可以通过传递一个参数来实例化我的控件,该参数是指向所述图像的文件路径列表

我已经得到了从FXML加载的控件,很好,这是构造函数

public Gallery(@NamedArg("images") List<String> images) {
    this.imageQueue = new PriorityQueue<>(images);
    this.load("gallery.fxml");
    this.scrollImage();
}
public Gallery(@NamedArg(“图像”)列表图像){
this.imageQueue=新的优先级队列(图像);
这个.load(“gallery.fxml”);
这个.scrollImage();
}
这是加载它的FXML

<Gallery fx:id="contentPane" prefHeight="250.0" prefWidth="600.0">
      <images>
          1.png,
          2.png,
          3.png
      </images>
  </Gallery>

1.png,
2.png,
3.png
加载时没有问题,但是没有图像,并且进行了一些简单的打印,我看到它没有创建一个包含三个值1.png、2.png、3.png的列表,而是创建了一个包含一个值“1.png、2.png、3.png”的列表


因此,我的问题是如何将其实例化为包含3个独立值的列表?

类似的方法也适用于只读列表属性,但此类fxml中没有提供以下信息:

  • 应该使用
    列表
    的哪个实现
  • 有多少根弦,在哪里把它们分开;如何判断您是否想要一个包含
    “1.png、\n 2.png、\n 3.png”
    “1.png、”\n 2.png、\n 3.png“
    或其他内容的列表
可以这样做,但需要修改fxml的结构:


...

我真的不认为这是“理想的”。我不确定你为什么在那里使用
优先级队列,但这可能不是最好的选择。。。请