gpt4 book ai didi

java - 通过 FXCollections 从 FXML 创建集合

转载 作者:行者123 更新时间:2023-11-30 01:47:43 25 4
gpt4 key购买 nike

有许多通过 FXML 中的 FXCollections 创建集合的示例,如下所示(来自 here ):

<FXCollections fx:factory="observableArrayList">
<String fx:value="A"/>
<String fx:value="B"/>
<String fx:value="C"/>
</FXCollections>

但我不明白它是如何工作的。毕竟,工厂方法是无参数方法,那么String元素去了哪里呢?我以为它是默认属性,但 FXCollections 没有默认属性。 observableArrayList() 工厂方法有一个重载版本,它采用文档和源代码中集合元素的 vararg。但为什么FXML使用这种方法呢?文档中没有指定(或者我找不到它)。我在文档中找到的所有内容是:

The fx:factory attribute is another means of creating objects whose classes do not have a default constructor. The value of the attribute is the name of a static, no-arg factory method for producing class instances. For example, the following markup creates an instance of an observable array list, populated with three string values:

我觉得这个问题很愚蠢。但有人可以帮我解释一下吗?

提前谢谢

附注抱歉我的英语不好

最佳答案

There is overloaded version of observableArrayList() factory method which takes vararg of collection's elements in docs and source code. But why does FXML use this method?

事实并非如此。 FXCollections.observableArrayList()用于创建列表,并且由于周围元素为 <String>元素是 List ,这些元素将添加到列表中。产生相同结果的java代码是

ObservableList list = FXCollections.observableArrayList();
list.add("A");
list.add("B");
list.add("C");

列表的处理方式相同 read-only list properties是,尽管文档没有明确说明这一点。

关于java - 通过 FXCollections 从 FXML 创建集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57337986/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com