есть два варианта:
1.Преобразование типов. Легко, но не безопасно.
Если вы уверены, что не добавите других детей в этот VBox, вы можете просто преобразовать узел в кнопку:
for (Node node : vbox.getChildren()) {
if (node instanceof Button) {
final Button button = (Button) node;
// all your logic
}
2.Используйте шаблон Factory. Лучшие комплекты, ИМХО.
введите метод createButton, который будет настраивать кнопку по мере необходимости:
private Button createButton(String name) {
final Button button = new Button(name);
button.setOnMouseEntered(...);
button.setOnMouseExited(...);
button.setOnMouseClicked(...);
return button;
}
, и ваш код будет выглядеть следующим образом:
Button option1 = createButton("Single Player");
Button option2 = createButton("Network Player");
Button option3 = createButton("View Rules");
vbox.getChildren().addAll(option1, option2, option3);
3.Представьте свой собственный класс кнопок. Лучше, если вы планируете расширить логику кнопок.
public void FancyButton extends Button {
public FancyButton(String name) {
super(name);
//handlers logic here
}
}