Добавление слушателя к TabPane, созданному с помощью TabPaneBuilder?

У меня есть следующий код:

TabPaneBuilder.create()
    .tabs(
        TabBuilder.create()
            .text("Main")
            .closable(false)
            .build(),
        TabBuilder.create()
            .text("Preview")
            .content(createPreviewSplitMenu())
            .closable(false)
            .build()
        )
   .build()

Можно ли здесь добавить слушателя, чтобы что-то было сделано, когда выбрана вкладка "Предварительный просмотр"? Если это так, я не могу найти его, и я посмотрел на API.

Я вообще не спрашиваю, как это сделать, просто при использовании TabPaneBuilder.

Благодарю.

Изменить: также хотел бы самый простой обычный способ сделать это, если то, что я спрашиваю, не возможно.

Edit2: мне бы хотелось, чтобы содержимое вкладки "Предварительный просмотр" перерисовывалось при ее выборе.

1 ответ

Решение

Вам нужно добавить слушателя в TabBuilder!

(Сначала нужно дать ему имя, чтобы вы могли ссылаться на него позже:)

TabPaneBuilder.create()
.tabs(
    TabBuilder.create()
        .text("Main")
        .closable(false)
        .build(),

//New code coming through

    previewTab = TabBuilder.create()
        .text("Preview")
        .content(createPreviewSplitMenu())
        .closable(false)

        .onSelectionChanged(new EventHandler<Event>() {
        public void handle(Event evt) {
          if (previewTab.isSelected()) {
            //code to update the tab
          }
        }
      })

      .build()
    )
.build()
Другие вопросы по тегам