JavaFX - Как закрыть вкладку - PullRequest
       6

JavaFX - Как закрыть вкладку

0 голосов
/ 01 сентября 2018

Есть ли какой-нибудь метод для закрытия Tab в JavaFX? Я ищу что-то похожее на то, что доступно для класса Stage (см. Пример 1).

Пока что единственный известный способ закрыть сквозной код Tab - это вызвать событие getOnCloseRequest или getOnClosed вручную и удалить Tab из его TabPane (см. Пример 2).

Пример 1:

private void closeWindow(Stage stage)
{
   stage.close();
}

Пример 2

private void closeFirstTab(TabPane tabPane)
{
    Tab tab = tabPane.getTabs().get(0);
    EventHandler handler = tab.getOnCloseRequest();

    if (handler != null)
    {
        handler.handle(null);
    }
}

private void onClose(Event e, TabPane tabPane, Tab tab)
{
    if (e != null)
    {
        e.consume();
    }

    System.out.println("onClose");
    tabPane.getTabs().remove(tab);
}

1 Ответ

0 голосов
/ 01 сентября 2018

Метод tabPane.getTabs() возвращает коллекцию вкладок в TabPane. Так что если вы позвоните

tabPane.getTabs().remove(0)

или любой другой индекс, который вы выберете, который должен удалить его из сохраненных вкладок и остановить отображение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...