从JavaFX TableView一次删除多行的问题

fac*_*n12 4 java javafx javafx-2

我正在尝试创建一个按钮,当选择TableView中的多行时,将删除所有选定的行.

我正在创建一个可观察的列表使用getSelectedIndicies它并没有正常工作.

如果我选择前三行,我打印出指示,因为它删除它们并打印0,1然后它删除第一行和第三行,但不删除三行的中间.

delBtn.setOnAction(new EventHandler<ActionEvent>() {
    @Override
    public void handle(ActionEvent e) {
        ObservableList<Integer> index = 
            table.getSelectionModel().getSelectedIndices();

        for (int location: index) {
            System.out.println(location);
            data.remove(location);
        }

        table.getSelectionModel().clearSelection();
    }
});
Run Code Online (Sandbox Code Playgroud)

小智 6

出于某种原因,这有效:

 b.setOnAction(new EventHandler<ActionEvent>() {

                @Override
                public void handle(ActionEvent arg0) {
                    List items =  new ArrayList (treeTable.getSelectionModel().getSelectedItems());  
                    data.removeAll(items);
                    table.getSelectionModel().clearSelection();

                }
            });
Run Code Online (Sandbox Code Playgroud)

我怀疑selectedItems列表(com.sun.javafx.collections.ObservableListWrapper)的内部实现可能有一些错误.

编辑 是的它绝对是一个错误:https://javafx-jira.kenai.com/browse/RT-24367