Java 在FXML中传递数组参数
我正在尝试创建一个存储图像列表的自定义控件。理想情况下,在FXML文件中,我可以通过传递一个参数来实例化我的控件,该参数是指向所述图像的文件路径列表 我已经得到了从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
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“
...
我真的不认为这是“理想的”。我不确定你为什么在那里使用优先级队列,但这可能不是最好的选择。。。请