Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
VBox в цикле с разными action.
#1
Здравствуйте, уважаемые.
Довольно много сигарет скурил пока разбираюсь с данным сабжем.
Собственно есть цикл построения нескольких VBox в Accordion.

Код:
Accordion accordion = new Accordion();
for(int i = 0; i < 5; i++)
{
    VBox vbox = VBoxBuilder.create().id("insettextvbox").spacing(10).padding(new Insets(10)).children(
            ButtonBuilder.create().text("Создать").id("button1").onAction(create).build(),
            ButtonBuilder.create().text("Старт").id("button2").onAction(start).build()).build();

    VBox leftVbox = new VBox();
    leftVbox.getChildren().addAll(vbox);
    TitledPane t = new TitledPane("Кнопка " + i, leftVbox);

    accordion.getPanes().addAll(t);
}

Действие на нажатие записывается в onAction(create) и потом само выполнение происходит из
Код:
static final EventHandler<ActionEvent> create = new EventHandler<ActionEvent>() {
    public void handle(ActionEvent e) {
    }
};

Ну, и сам вопрос: Как повесить разные екшены на кнопки в боксе?

P.S. Убирать цикл не предлагать, так как количество боксов будет меняться на более.

Буду очень благодарен за любую помощь.
Web программист\разработчик

— Есть только один способ проделать большую работу — полюбить ее. Если вы к этому не пришли, подождите. Не беритесь за дело.
Ответ
#2
давно не пользовался javafx. как вариант (jdk7):
Код:
switch(((Button)e.getSource()).getId()) {
case "button1": { break; }
case "button2": { break; }
case "button3": { break; }
}
Либо в добавок пробовать проверять parent кнопки
for(;Forum.getPostCount() < Integer.MAX_VALUE; Forum.writeNewPost()); | TERA Video | GamezTERA Emu
Ответ
#3
Aquanox Написал:давно не пользовался javafx. как вариант (jdk7):
Код:
switch(((Button)e.getSource()).getId()) {
case "button1": { break; }
case "button2": { break; }
case "button3": { break; }
}

Много раз посматривал на .id, но так и не догадался, спасибо. Будем дальше ковыряться.
Web программист\разработчик

— Есть только один способ проделать большую работу — полюбить ее. Если вы к этому не пришли, подождите. Не беритесь за дело.
Ответ


Перейти к форуму:


Пользователи, просматривающие эту тему: 3 Гость(ей)