【问题标题】:javafx listview item order [duplicate]javafx listview项目顺序[重复]
【发布时间】:2013-02-07 08:44:45
【问题描述】:

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

这是怎么做到的?

【问题讨论】:

标签: java listview javafx


【解决方案1】:

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

【讨论】:

  • 好的,谢谢。我的情况的问题是我需要通过用鼠标拖动它们来重新排序项目。不是按代码逻辑!我找到了这篇博文blog.ngopal.com.np/2012/05/06/…,这个解决方案对我有用,但我认为这对于这样的事情来说真的很复杂......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-01-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-20
相关资源
最近更新 更多