Java 类javafx.application.Preloader 实例源码

项目:arma-dialog-creator    文件:ArmaDialogCreator.java   
@Override
public void init() throws Exception {
    int progress = 0;

    applicationDataManager = new ApplicationDataManager();
    locale = ApplicationProperty.LOCALE.get(ApplicationDataManager.getApplicationProperties());

    if (!containsUnamedLaunchParameter(ProgramArgument.NoSplash)) {
        for (; progress < 100; progress++) {
            Thread.sleep(40);
            notifyPreloaderLog(new Preloader.ProgressNotification(progress / 100.0));
        }
    }


}
项目:tokentool    文件:TokenTool.java   
@Override
public void init() throws Exception {
    appInstance = this;
    VERSION = getVersion();

    // Lets install/update the overlays if newer version
    AppSetup.install(VERSION);
    log = LogManager.getLogger(TokenTool.class);
    log.info("3D Hardware Available? " + Platform.isSupported(ConditionalFeature.SCENE3D));

    // Now lets cache any overlays we find and update preLoader with progress
    overlayCount = (int) Files.walk(AppConstants.OVERLAY_DIR.toPath()).filter(Files::isRegularFile).count();
    overlayTreeItems = cacheOverlays(AppConstants.OVERLAY_DIR, null, THUMB_SIZE);

    // All Done!
    notifyPreloader(new Preloader.ProgressNotification(1.0));
}
项目:arma-dialog-creator    文件:ArmaDialogCreator.java   
private void notifyPreloaderLog(Preloader.PreloaderNotification notification) {
    if (containsUnamedLaunchParameter(ProgramArgument.LogInitProgress)) {
        if (notification instanceof Preloader.ProgressNotification) {
            System.out.println("Preloader Log Progress: " + ((Preloader.ProgressNotification) notification).getProgress());
        } else if (notification instanceof Preloader.StateChangeNotification) {
            System.out.println("Preloader Stage Change: " + ((Preloader.StateChangeNotification) notification).getType());
        } else if (notification instanceof Preloader.ErrorNotification) {
            System.out.println("Preloader Error: " + notification);
        }
    }
    notifyPreloader(notification);
}
项目:FirefightersCenter    文件:AppPreloader.java   
@Override
public void handleApplicationNotification(Preloader.PreloaderNotification pn) {

    if (pn instanceof Preloader.StateChangeNotification) {
        stage.hide();
    }
}
项目:FirefightersCenter    文件:FirefighterPostApp.java   
@Override
public void start(Stage stage) throws Exception {
  notifyPreloader(new Preloader.StateChangeNotification(Preloader.StateChangeNotification.Type.BEFORE_START));
  stage.setTitle("Post Firefighters App");
  Scene scene = firefightersRootPane.initScene();
  stage.setScene(scene);

  URL resource = FirefighterPostApp.class.getClassLoader().getResource("ui.css");
  scene.getStylesheets().add(resource.toExternalForm());

  stage.setResizable(true);
  stage.centerOnScreen();
  stage.show();
  LOG.info("Application Started");
}
项目:GRIP    文件:Main.java   
@Override
public void init() throws IOException {
  parsedArgs = commandLineHelper.parse(getParameters().getRaw());

  if (parsedArgs.hasOption(UICommandLineHelper.HEADLESS_OPTION)) {
    // If --headless was specified on the command line,
    // run in headless mode (only use the core module)
    logger.info("Launching GRIP in headless mode");
    injector = Guice.createInjector(Modules.override(new GripCoreModule(), new GripFileModule(),
        new GripSourcesHardwareModule()).with(new GripNetworkModule()));
    injector.injectMembers(this);

    headless = true;
  } else {
    // Otherwise, run with both the core and UI modules, and show the JavaFX stage
    logger.info("Launching GRIP in UI mode");
    injector = Guice.createInjector(Modules.override(new GripCoreModule(), new GripFileModule(),
        new GripSourcesHardwareModule()).with(new GripNetworkModule(), new GripUiModule()));
    injector.injectMembers(this);
    notifyPreloader(new Preloader.ProgressNotification(0.15));

    System.setProperty("prism.lcdtext", "false");
    Font.loadFont(this.getClass().getResource("roboto/Roboto-Regular.ttf").openStream(), -1);
    Font.loadFont(this.getClass().getResource("roboto/Roboto-Bold.ttf").openStream(), -1);
    Font.loadFont(this.getClass().getResource("roboto/Roboto-Italic.ttf").openStream(), -1);
    Font.loadFont(this.getClass().getResource("roboto/Roboto-BoldItalic.ttf").openStream(), -1);
    notifyPreloader(new Preloader.ProgressNotification(0.3));
  }

  notifyPreloader(new Preloader.ProgressNotification(0.45));
  server.addHandler(pipelineSwitcher);
  notifyPreloader(new Preloader.ProgressNotification(0.6));

  pipelineRunner.startAsync();
  notifyPreloader(new Preloader.ProgressNotification(0.75));
}
项目:tokentool    文件:TokenTool.java   
/**
 * 
 * @author Jamz
 * @throws IOException
 * @since 2.0
 * 
 *        This method loads and processes all the overlays found in user.home/overlays and it can take a minute to load as it creates thumbnail versions for the comboBox so we call this during the
 *        init and display progress in the preLoader (splash screen).
 * 
 */
private TreeItem<Path> cacheOverlays(File dir, TreeItem<Path> parent, int THUMB_SIZE) throws IOException {
    TreeItem<Path> root = new TreeItem<>(dir.toPath());
    root.setExpanded(false);

    log.debug("caching " + dir.getAbsolutePath());

    File[] files = dir.listFiles();
    for (File file : files) {
        if (file.isDirectory()) {
            cacheOverlays(file, root, THUMB_SIZE);
        } else {
            Path filePath = file.toPath();
            TreeItem<Path> imageNode = new TreeItem<>(filePath, ImageUtil.getOverlayThumb(new ImageView(), filePath));
            root.getChildren().add(imageNode);

            notifyPreloader(new Preloader.ProgressNotification((double) loadCount++ / overlayCount));
        }
    }

    if (parent != null) {
        // When we show the overlay image, the TreeItem value is "" so we need to
        // sort those to the bottom for a cleaner look and keep sub dir's at the top.
        // If a node has no children then it's an overlay, otherwise it's a directory...
        root.getChildren().sort(new Comparator<TreeItem<Path>>() {
            @Override
            public int compare(TreeItem<Path> o1, TreeItem<Path> o2) {
                if (o1.getChildren().size() == 0 && o2.getChildren().size() == 0)
                    return 0;
                else if (o1.getChildren().size() == 0)
                    return Integer.MAX_VALUE;
                else if (o2.getChildren().size() == 0)
                    return Integer.MIN_VALUE;
                else
                    return o1.getValue().compareTo(o2.getValue());
            }
        });

        parent.getChildren().add(root);
    }

    return root;
}
项目:spring-labs    文件:App.java   
@Override
public void start(Stage stage) throws Exception {

    notifyPreloader(new Preloader.StateChangeNotification(Preloader.StateChangeNotification.Type.BEFORE_START));

    stage.setTitle(windowTitle);
    stage.setScene(new Scene(projectsView.getView()));
    stage.setResizable(true);
    stage.centerOnScreen();
    stage.show();
}
项目:spring-labs    文件:App.java   
@Override
public void start(Stage stage) throws Exception {

    notifyPreloader(new Preloader.StateChangeNotification(Preloader.StateChangeNotification.Type.BEFORE_START));

    stage.setTitle(windowTitle);
    stage.setScene(new Scene(mainLayout));
    stage.setResizable(true);
    stage.centerOnScreen();
    stage.show();
}
项目:GRIP    文件:Main.java   
@Override
public void start(Stage stage) throws IOException {
  // Load UI elements if we're not in headless mode
  if (!headless) {
    root = FXMLLoader.load(Main.class.getResource("MainWindow.fxml"), null, null,
        injector::getInstance);
    root.setStyle("-fx-font-size: " + DPIUtility.FONT_SIZE + "px");

    notifyPreloader(new Preloader.ProgressNotification(0.9));

    project.addIsSaveDirtyConsumer(newValue -> {
      if (newValue) {
        Platform.runLater(() -> stage.setTitle(MAIN_TITLE + " | Edited"));
      } else {
        Platform.runLater(() -> stage.setTitle(MAIN_TITLE));
      }
    });

    stage.setTitle(MAIN_TITLE);
    stage.getIcons().add(new Image("/edu/wpi/grip/ui/icons/grip.png"));
    stage.setScene(new Scene(root));
    notifyPreloader(new Preloader.ProgressNotification(1.0));
    notifyPreloader(new Preloader.StateChangeNotification(
        Preloader.StateChangeNotification.Type.BEFORE_START));
    stage.show();
  }

  operations.addOperations();
  cvOperations.addOperations();

  commandLineHelper.loadFile(parsedArgs, project);
  commandLineHelper.setServerPort(parsedArgs, settingsProvider, eventBus);

  // This will throw an exception if the port specified by the save file or command line
  // argument is already taken. Since we have to have the server running to handle remotely
  // loading pipelines and uploading images, as well as potential HTTP publishing operations,
  // this will cause the program to exit.
  try {
    server.start();
  } catch (GripServerException e) {
    logger.log(Level.SEVERE, "The HTTP server could not be started", e);
    Alert alert = new Alert(Alert.AlertType.CONFIRMATION, "", ButtonType.YES, ButtonType.NO);
    alert.setTitle("The HTTP server could not be started");
    alert.setHeaderText("The HTTP server could not be started");
    alert.setContentText(
        "This is normally caused by the network port being used by another process.\n\n"
            + "HTTP sources and operations will not work until GRIP is restarted. "
            + "Continue without HTTP functionality anyway?"
    );
    alert.showAndWait().filter(ButtonType.NO::equals).ifPresent(bt -> SafeShutdown.exit(1));
  }
}
项目:javafx-demos    文件:PreloaderCheck.java   
public static void main(String[] args) {
    Preloader.launch(args);
}