创建一个Observable列表/集合
创建一个Observable列表/集合
我正在尝试在JavaFX 8中创建一个ChoiceBox,它需要一个Collection。然而我无法弄清楚如何创建Collection...如果我尝试:
ObservableList
我会得到一个错误,说我不能实例化ObservableList,因为它是抽象的。可以理解。如果我查看ObservableList的文档,我可以看到SortedList实现了ObservableList,但我不能这样做:
ObservableList
因为没有适用的构造函数。显然我需要一个ObservableList传递给SortedList,这很奇怪,因为我无法创建一个ObservableList。
constructor SortedList.SortedList(ObservableList extends String>,Comparator super String>)不适用
(实际和形式参数列表长度不同)
constructor SortedList.SortedList(ObservableList extends String>)不适用
(实际和形式参数列表长度不同)
我不知道如何解读这个。如果我尝试
ObservableList
//或
ObservableList
出于绝望,我得到了一个更加复杂的错误。
SortedList
也不起作用。不知何故,这个可以运行(但显然使用了不安全的操作):
ChoiceBox box = new ChoiceBox(FXCollections.observableArrayList("Asparagus", "Beans", "Broccoli", "Cabbage" , "Carrot", "Celery", "Cucumber", "Leek", "Mushroom" , "Pepper", "Radish", "Shallot", "Spinach", "Swede" , "Turnip"));
所以我尝试了:
ObservableList
但是也没用。我非常困惑,一遍又一遍地做着相同的事情,陷入了无休止的循环中,试图理解这个问题。我找到的文档显示了没有帮助的示例,或者根本没有示例。官方文档也没用:
假设,例如,你有一个可能是List、Set或其他类型的Collection c。这个惯用法创建了一个新的ArrayList(List接口的实现),最初包含c中的所有元素。
List
所以要创建一个ArrayList,List的一个实现,我需要有一个List。我之所以去查找文档,就是为了学习如何创建他们假设我已经有的东西。我迷失了方向。求助?