Java 无法将字符串强制转换为ObservalEvalue

Java 无法将字符串强制转换为ObservalEvalue,java,casting,javafx-8,observable,Java,Casting,Javafx 8,Observable,我在我的模型中得到了一个我想要跟踪的字符串(该字符串表示一个大陆)。如果大陆发生变化,应在gui中更新列表视图,其中包含该大陆的正确国家/地区 String selectedContinent; ObservableValue continent = (ObservableValue) selectedContinent; continent.addListener( ...... 显然,我得到了一个错误:不兼容的类型:字符串不能转换为ObservalEvalue 我以前使用过Observab

我在我的模型中得到了一个我想要跟踪的字符串(该字符串表示一个大陆)。如果大陆发生变化,应在gui中更新列表视图,其中包含该大陆的正确国家/地区

String selectedContinent;
ObservableValue continent = (ObservableValue) selectedContinent;
continent.addListener( ......
显然,我得到了一个错误:不兼容的类型:字符串不能转换为ObservalEvalue


我以前使用过ObservableList等。。但这对我来说是新的。经过搜索,我发现了很多与财产有关的东西。。但我从索塔身上什么也学不到

您可以改用StringProperty。不能实例化StringProperty,因为它是一个抽象类,所以请使用SimpleStringProperty

e、 g


看看下面的帖子,你能用它来代替吗?我自己并不熟悉javafx,但谷歌的快速搜索让你看起来可以使用StringProperty(通过属性接口实现ObservalEvalue)包装你选择的Continental字符串,然后调用addListener。那么属性的附加值是什么?我来看看我能做些什么。你应该能够创建一个新的StringProperty实例,并在其上调用setValue(SelectedContinental)将你的SelectedContinental封装在其中,然后你可以利用StringProperty(addLIstener等)的方法。
StringProperty
的附加值是它是一个
ObservalEvalue
,因此,您可以向其中添加侦听器。
字符串
不是
可观察值
SimpleStringProperty selectedContinent = new SimpleStringProperty;
selectedContinent.setValue(selection);
selectedContinent.addListener(....