var app, stage, scene, jvmDirName; // Engine scripts (API should be imported through static link) launcher.loadScript(LauncherClass.static.getResourceURL("engine/api.js")); launcher.loadScript(Launcher.getResourceURL("config.js")); // Dialog scripts launcher.loadScript(Launcher.getResourceURL("dialog/dialog.js")); // Override application class var LauncherApp = Java.extend(JSApplication, { init: function() { app = JSApplication.getInstance(); cliParams.init(app.getParameters()); settings.load(); }, start: function(primaryStage) { stage = primaryStage; stage.setResizable(false); stage.setTitle(config.title); // Set icons for each (var icon in config.icons) { var iconURL = Launcher.getResourceURL(icon).toString(); stage.getIcons().add(new javafx.scene.image.Image(iconURL)); } // Load dialog FXML rootPane = loadFXML("dialog/dialog.fxml"); initDialog(); // Set scene scene = new javafx.scene.Scene(rootPane); stage.setScene(scene); // Center and show stage stage.sizeToScene(); stage.centerOnScreen(); stage.show(); }, stop: function() { settings.save(); } }); // Helper functions function loadFXML(name) { var loader = new javafx.fxml.FXMLLoader(Launcher.getResourceURL(name)); loader.setCharset(IOHelper.UNICODE_CHARSET); return loader.load(); } function setRootParent(parent) { scene.setRoot(parent); } // Start function - there all begins function start(args) { // Set JVM dir name LogHelper.debug("Setting JVM dir name"); switch (JVMHelper.OS_TYPE) { case JVMHelperOS.MUSTDIE: jvmDirName = JVMHelper.OS_BITS === 32 ? "-win32" : // 32-bit Mustdie jvmDirName = JVMHelper.OS_BITS === 64 ? "-win64" : "-unknown"; break; // 64-bit Mustdie case JVMHelperOS.LINUX: jvmDirName = JVMHelper.OS_BITS === 32 ? "-linux32" : // 32-bit Linux jvmDirName = JVMHelper.OS_BITS === 64 ? "-linux64" : "-unknown"; break; // 64-bit Linux case JVMHelperOS.MACOSX: jvmDirName = JVMHelper.OS_BITS === 64 ? "-macosx" : "-unknown"; break; // 64-bit MacOSX default: jvmDirName = "-unknown"; LogHelper.warning("Unknown OS: '%s'", JVMHelper.OS_TYPE.name); break; // Unknown OS } // Set font rendering properties LogHelper.debug("Setting FX properties"); java.lang.System.setProperty("prism.lcdtext", "false"); // Start laucher JavaFX stage LogHelper.debug("Launching JavaFX application"); javafx.application.Application.launch(LauncherApp.class, args); }