java - 获取 JavaFX 中 ListView 的最后一个选定项

标签 java javafx

我需要在 JavaFX 的 MultipleSelectionMode 中获取 ListView 的最后一个选定项目。我的代码在下面,但它没有给我最后选择的项目。它似乎从所选项目中随机给出一个项目。

addDocumentPagesListView.getSelectionModel().getSelectedItems().addListener(new ListChangeListener<PageFile>() {

        @Override
        public void onChanged(ListChangeListener.Change<? extends PageFile> change) {
            while (change.next()) {

                if (change.wasAdded()) {
                    List <? extends PageFile> l = change.getAddedSubList();
                    Object o = l.get(l.size() - 1);                        
                    PageFile pf = (PageFile) o;
                    System.out.println("Showing pdf file: " + pf.getFile().getName());
                 }
            }
        }
    });

最佳答案

你应该看看 selectedItemProperty它总是指向最后选择的项目:

The selected item property is most commonly used when the selection model is set to be single selection, but is equally applicable when in multiple selection mode. When in this mode, the selected item will always represent the last selection made.

关于java - 获取 JavaFX 中 ListView 的最后一个选定项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22237906/

相关文章:

java - 使用图像序列和数组绘制动画?

java - 通过指定键和值类型扩展映射

JavaFX 模糊整个窗口

屏幕上的 JavaFX 中心舞台

java - 捆绑 JRE 8 和 JavaFX 应用程序

java - 运行简单的 selenium+java 代码时出现异常?

java - 使用 java swing 模拟 apk 文件以便在我的桌面上使用它

java - 不使用否定按钮关闭警报对话框

java - JFX 图像未显示在网格 Pane 中

java - 如何暂停newScheduledThreadPool?