Как я могу поменять порядок детей в HBox с помощью кнопки в JavaFX? - PullRequest
0 голосов
/ 07 апреля 2020

Если бы у вас был HBox, подобный этому: HBox hbox = new HBox (image1, image2);

Как бы вы поменяли местами image1 и image2 одним нажатием кнопки, чтобы image2 предшествовал image1?

1 Ответ

2 голосов
/ 07 апреля 2020

Если это только 2 ребенка, вы можете использовать toFront в первом

hbox.getChildren().get(0).toFront();

Если они не единственные дети, вам нужно изменить список таким образом, чтобы гарантировать, что ни один из них не будет из узлов присутствует в списке одновременно более одного раза:

List<Node> children = hbox.getChildren();
int index1 = children.indexOf(image1);
int index2 = children.indexOf(image2);

//get indices in order
if (index1 > index2) {
    int temp = index1;
    index1 = index2;
    index2 = temp;
}

Node n = children.remove(index2);
n = children.set(index1, n);
children.add(index2, n);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...