Есть ли способ перевести массив узлов в JavaFX? - PullRequest
0 голосов
/ 11 мая 2018

Если я создаю массив узлов, могу ли я перейти на каждый из них, не создавая отдельные экземпляры перехода для каждого?

ArrayList<ImageView> leftScoringNodeBgArray = new ArrayList();

for (int i = 0; i<5; i++){
    leftScoringNodeBgArray.add(new ImageView(leftScoringBgImage));
} 

TranslateTransition leftTransition1 = new TranslateTransition();
TranslateTransition leftTransition2 = new TranslateTransition();
TranslateTransition leftTransition3 = new TranslateTransition();
TranslateTransition leftTransition4 = new TranslateTransition();
TranslateTransition leftTransition5 = new TranslateTransition();

leftTransition1.setNode(leftScoringNodeBgArray.get(0);    
leftTransition2.setNode(leftScoringNodeBgArray.get(1);
leftTransition3.setNode(leftScoringNodeBgArray.get(2);
leftTransition4.setNode(leftScoringNodeBgArray.get(3);
leftTransition5.setNode(leftScoringNodeBgArray.get(4);

leftTransition1.setToX(300);
leftTransition2.setToX(400);
leftTransition3.setToX(500);
leftTransition4.setToX(600);
leftTransition5.setToX(700);

leftTransition1.setCycleCount(1);
leftTransition2.setCycleCount(1);
leftTransition3.setCycleCount(1);
leftTransition4.setCycleCount(1);
leftTransition5.setCycleCount(1);

SequentialTransition st = new SequentialTransition(leftTransition1, leftTransition2, leftTransition3, leftTransition4, leftTransition5);
st.play();

на самом деле единственное, что меняется для каждого из них, это конечная позиция X.Есть ли способ, которым я могу создать все переходы в цикле, чтобы избежать повторного определения параметров перехода?

1 Ответ

0 голосов
/ 11 мая 2018

Вы можете создать их следующим образом (и добавить их к SequentialTransition):

ArrayList<ImageView> leftScoringNodeBgArray = new ArrayList<>();
SequentialTransition seq = new SequentialTransition();

for (int i = 0; i < 5; i++) {
    leftScoringNodeBgArray.add(new ImageView(leftScoringBgImage));

    TranslateTransition tr = new TranslateTransition();
    tr.setNode(leftScoringNodeBgArray.get(0));
    tr.setToX(300 + i * 100);
    tr.setCycleCount(1);
    seq.getChildren().add(tr);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...