字符串不能转换为 ObservableValue

String can not be casted to ObservableValue

我在我的模型中得到了一个字符串,我想跟踪它(该字符串代表一个大陆)。如果大陆发生变化,则应使用该大陆的正确国家更新 gui 中的 ListView。

String selectedContinent;
ObservableValue continent = (ObservableValue) selectedContinent;
continent.addListener( ......

显然我收到错误:类型不兼容:无法将字符串转换为 ObservableValue。

我以前用过ObservableList等。但是这个ObservableValue对我来说是新的。搜索后,我发现很多与 属性 等相关的内容。但我无法从 sorta 中学到任何东西。

您可以改用 StringProperty。您无法实例化 StringProperty,因为它是一个抽象 class,因此请使用 SimpleStringProperty。

例如

SimpleStringProperty selectedContinent = new SimpleStringProperty;
selectedContinent.setValue(selection);
selectedContinent.addListener(....