我有以下代码:
public class GuiView extends Application {
private ObservableList<String> shareNames = FXCollections.observableArrayList();
public void start(Stage stage) {
...
ComboBox<String> comboBox = new ComboBox<String>();
comboBox.getItems().addAll(this.shareNames);
MenuItem open = new MenuItem("Open...");
open.setOnAction( e -> {
// FileChooser code...
if (selctedFile != null) {
this.shareNames.addAll("teststring");
}
});
}
}
当我成功运行打开的对话框时,组合框不会更新并显示测试字符串。这里出了什么问题?
答案 0 :(得分:1)
您正在更新shareNames
,但这不是组合框使用的列表。
替换
comboBox.getItems().addAll(this.shareNames);
带
comboBox.setItems(this.shareNames);
或替换
this.shareNames.addAll("teststring");
带
comboBox.getItems().add("teststring");