Javafx 从HBox获取文本值

Javafx 从HBox获取文本值,javafx,scalafx,Javafx,Scalafx,假设我有这样一个HBox: val texts = new HBox { content = Seq(new TextArea, new TextArea) } 现在,我想获取集合中的TextAreas'文本值。我怎样才能到达这些TextAreastext.content是一个observeList[javafx.scene.Node],而不是observeList[TextArea] 我尝试过这样的类型转换: texts.content.get(0).asInstanceOf[Tex

假设我有这样一个HBox:

val texts = new HBox {
  content = Seq(new TextArea, new TextArea)
}  
现在,我想获取集合中的
TextArea
s'文本值。我怎样才能到达这些
TextArea
s
text.content
是一个
observeList[javafx.scene.Node]
,而不是
observeList[TextArea]

我尝试过这样的类型转换:

texts.content.get(0).asInstanceOf[TextArea].getText  

并获取以下异常:
java.lang.ClassCastException:javafx.scene.control.TextArea不能强制转换为scalafx.scene.control.TextArea

您可以在获取元素时键入强制转换,例如:

TextArea txt1 = (TextArea)observableList.get(0);
TextArea txt2 = (TextArea)observableList.get(1);
for(Node node: observableList){
   TextArea txt = (TextArea)node;
   //Do something with the txtArea
}
或者,如果您有多个
TextArea

for(Node node: observableList){
   TextArea txt = (TextArea)node;
   //Do something with the txtArea
}

TypeCasting
?我已经尝试了
text.content(0)。安装了[TextArea]
text.content(0)匹配{case te:TextArea=>…
,两者都导致了异常。对于匹配,我没有异常,但是警告
无效类型测试:javafx.scene.Node类型的值不能也是scalafx.scene.control.TextArea
scalafx.scene.control.TextArea
?您不认为它应该是
javafx.scene.control.TextArea
?