ListView上的JavaFX设置项值两次只有一个项目将取消选择该项目(bug?)

时间:2015-12-19 19:15:28

标签: java listview javafx

我正在用e(fx)clipse编写JavaFX应用程序。我认为我遇到了一个UI错误,但我不确定它是否是设计的。

所以我有两段代码,每一段都有一个ListView<String>设置为主要阶段的场景。第一个ListView只包含一个项目,而另一个ListView包含多个项目。当我在ListView上选择了一个列表项并且我以编程方式两次编辑列表项时,只有一个项的ListView将在所选项目中取消选中所选项目在具有多个项目的ListView上将保持选中状态。

令人惊讶的是,如果只有一个项目的ListView上的列表项被编辑一次而不是两次,它将保持选中状态。所以似乎问题只发生在第二次编辑之后。

以下是完整的代码:

public class Main extends Application {

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

    @Override
    public void start(Stage stage) {
        ListView<String> lv = new ListView<String>();
        lv.setItems(FXCollections.observableArrayList(Arrays.asList("A", "B", "C")));
        //remove B and C for the ListView with only one item
        stage.setScene(new Scene(lv, 200, 200));
        stage.show();
        lv.getSelectionModel().select(0);
        lv.getItems().set(0, "B");
        lv.getItems().set(0, "C");
    }
}

0 个答案:

没有答案