如何在 JavaFX 中从 VBox.getChildren() 投射列表项
Howto cast List items from VBox.getChildren() in JavaFX
我有一个 VBox
,其中添加了许多 Button
类型的节点。
private final VBox vbox = new VBox();
private final Button b1= new Button("1");
private final Button b2= new Button("2");
private final Button b3= new Button("3");
private final Button b4= new Button("4");
vbox.getChildren().addAll(b1,b2,b3,b4);
有没有办法将其子项转换为 Button
类型。
我需要这样的东西:
ObservableList<Button> children = (ObservableList<Button>) vbox.getChildren();
是的,如果您使用原始类型,这是可能的。
ObservableList<Button> children = (ObservableList)vbox.getChildren();
但是请注意,如果类型不正确或子列表硬编码取决于类型参数的参数的参数类型,这很容易在运行时导致 ClassCastException
s。
我有一个 VBox
,其中添加了许多 Button
类型的节点。
private final VBox vbox = new VBox();
private final Button b1= new Button("1");
private final Button b2= new Button("2");
private final Button b3= new Button("3");
private final Button b4= new Button("4");
vbox.getChildren().addAll(b1,b2,b3,b4);
有没有办法将其子项转换为 Button
类型。
我需要这样的东西:
ObservableList<Button> children = (ObservableList<Button>) vbox.getChildren();
是的,如果您使用原始类型,这是可能的。
ObservableList<Button> children = (ObservableList)vbox.getChildren();
但是请注意,如果类型不正确或子列表硬编码取决于类型参数的参数的参数类型,这很容易在运行时导致 ClassCastException
s。