javafx listview项目订单

时间:2013-02-07 08:44:45

标签: java listview javafx

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

怎么可以这样做?

1 个答案:

答案 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会自动调整它的外观......