001package conexp.fx.gui.util;
002
003/*
004 * #%L
005 * Concept Explorer FX
006 * %%
007 * Copyright (C) 2010 - 2023 Francesco Kriegel
008 * %%
009 * This program is free software: you can redistribute it and/or modify
010 * it under the terms of the GNU General Public License as
011 * published by the Free Software Foundation, either version 3 of the
012 * License, or (at your option) any later version.
013 * 
014 * This program is distributed in the hope that it will be useful,
015 * but WITHOUT ANY WARRANTY; without even the implied warranty of
016 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
017 * GNU General Public License for more details.
018 * 
019 * You should have received a copy of the GNU General Public
020 * License along with this program.  If not, see
021 * <http://www.gnu.org/licenses/gpl-3.0.html>.
022 * #L%
023 */
024
025import javafx.application.Application;
026import javafx.application.Platform;
027import javafx.stage.Stage;
028
029public class JFXInit extends Application {
030
031  public static void initializeJavaFXPlatform() {
032    new Thread(new Runnable() {
033
034      @Override
035      public void run() {
036        JFXInit._init();
037      }
038    }).start();
039  }
040
041  public static void shutdownJavaFXPlatform() {
042    try {
043      instance.stop();
044    } catch (Exception e) {}
045    System.exit(0);
046  }
047
048  private static final void _init() {
049    launch();
050  }
051
052  private static JFXInit instance = null;
053
054  @Override
055  public void start(Stage primaryStage) throws Exception {
056    Platform.setImplicitExit(true);
057    instance = this;
058  }
059}