2

我在使用 JavaFX 的 ListView 项目时遇到问题。问题是我找不到在运行时重新排序它们的方法。只需用鼠标拖动项目。我还想更改底层 ObservableList 中的项目顺序。

怎么可能做到这一点?

4

1 回答 1

0

您可以随时更改构成 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 将自动调整其外观...

于 2013-03-11T17:48:25.177 回答