我在使用 JavaFX 的 ListView 项目时遇到问题。问题是我找不到在运行时重新排序它们的方法。只需用鼠标拖动项目。我还想更改底层 ObservableList 中的项目顺序。
怎么可能做到这一点?
您可以随时更改构成 ListView 基础模型的 ObservableList 的顺序,以更改列表视图项的顺序...
...例如:要使用 Comparator 重新排序列表视图的内容,您可以使用以下内容:
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 将自动调整其外观...