javafx-2,ListView selectedIndices selectionModel的属性在删除项时不一致

javafx-2,ListView selectedIndices selectionModel的属性在删除项时不一致,java,listview,javafx-2,Java,Listview,Javafx 2,在javafx-2列表视图中,我注意到GetSelectedDices中有一个奇怪的(但可以解决的)行为 getSelectedIndices属性(SelectionModel的)是一个可观察的列表,如果允许多次选择,该列表应包含所选项目或所选项目。 但是如果我添加一个项目,选择它,然后删除它,您可能会认为该选择将不包含任何项目,但实际上它确实包含一个项目,并且精确地说是-1。 下面是显示这一事实的最简单的代码 public class T01 extends Application { pu

在javafx-2列表视图中,我注意到GetSelectedDices中有一个奇怪的(但可以解决的)行为
getSelectedIndices属性(SelectionModel的)是一个可观察的列表,如果允许多次选择,该列表应包含所选项目或所选项目。
但是如果我添加一个项目,选择它,然后删除它,您可能会认为该选择将不包含任何项目,但实际上它确实包含一个项目,并且精确地说是-1。
下面是显示这一事实的最简单的代码

public class T01 extends Application {

public static void main (String [] args) { launch(args);}

ListView<String> listView;

//just create the controls, that is a BorderPane with a ListView in its center
@Override
public void start(Stage primaryStage) throws Exception {

    BorderPane borderPane = new BorderPane();

    listView = new ListView();

    borderPane.setCenter(listView);

    primaryStage.setScene(new Scene(borderPane));

    primaryStage.show();

    doTest();

}

//doTest: add an item, select it, remove it and inspect the selection model again
public void doTest() {

    System.out.println("A) before adding items");
    printSelectedItem(listView);

    listView.getItems().add("first");

    listView.getSelectionModel().select(0);

    System.out.println("B) added an item and selected");
    printSelectedItem(listView);


    listView.getItems().remove(0);

    System.out.println("C) removed the item");
    printSelectedItem(listView);

}

public void printSelectedItem(ListView listView) {
    ObservableList<Integer> list = listView.getSelectionModel().getSelectedIndices();
    System.out.println("The selectedIndices property contains: " + list.size() + " element(s):");
    for(int i=0; i<list.size(); i++) { System.out.println(i + ")" + list.get(i)); }
}

}
案例“C”显示了“意外”行为。也许在什么地方

环境资料: javafx.runtime.version:2.2.3-b05 java.runtime.version:1.6.0_29-b11 操作系统名称:Windows7
os.version:6.1

请参阅listView.getSelectionModel().selectedIndexProperty()的api文档这个问题不是关于selectedIndexProperty的,它是一个单整数。它是关于selectedIndexProperty的,它是一个ObservableList
run:
A) before adding items
The selectedIndices property contains: 0 element(s):
B) added an item and selected
The selectedIndices property contains: 1 element(s):
0)0
C) removed the item
The selectedIndices property contains: 1 element(s):
0)-1