没有观察到组合框

时间:2015-03-01 17:31:30

标签: javafx-8

我有以下代码:

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");
      }
    });
  }
}

当我成功运行打开的对话框时,组合框不会更新并显示测试字符串。这里出了什么问题?

1 个答案:

答案 0 :(得分:1)

您正在更新shareNames,但这不是组合框使用的列表。

替换

comboBox.getItems().addAll(this.shareNames);

comboBox.setItems(this.shareNames);

或替换

this.shareNames.addAll("teststring");

comboBox.getItems().add("teststring");