Javafx 从HBox获取文本值
假设我有这样一个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
val texts = new HBox {
content = Seq(new TextArea, new TextArea)
}
现在,我想获取集合中的TextArea
s'文本值。我怎样才能到达这些TextArea
stext.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
?