我遇到了JavaFXs ListView项目的问题。问题是我找不到在运行时重新排序它们的方法。只需用鼠标拖动项目。另外,我想在底层ObservableList中更改项目顺序。
怎么可以这样做?
答案 0 :(得分:0)
您可以随时更改构成ListView基础模型的ObservableList的顺序,以更改列表视图项的顺序...
...例如:要使用比较器重新排序列表视图的内容,您可以使用以下内容:
javafx.scene.control.ListView<TYPE> listView; // Your ListView, defined somewhere else.
java.util.Collections.sort(listView.getItems(), new java.util.Comparator<TYPE>() {
@Override
public int compare(TYPE o1, TYPE o2) {
// Implement your comparator here.
}
});
...而“TYPE”匹配ListView实例的类型。
有关列表视图项定义的更多详细信息,请参阅http://docs.oracle.com/javafx/2/api/javafx/scene/control/ListView.html#itemsProperty。 您可以根据需要添加,删除和随机播放项目,ListView会自动调整它的外观......