49 lines
1.4 KiB
Plaintext
49 lines
1.4 KiB
Plaintext
package io.sarl.demos.fireworks
|
|
|
|
import io.sarl.demos.fireworks.gui.FXMLViewerController
|
|
import java.net.URL
|
|
import java.util.ResourceBundle
|
|
import javafx.application.Application
|
|
import javafx.fxml.FXMLLoader
|
|
import javafx.fxml.JavaFXBuilderFactory
|
|
import javafx.scene.Parent
|
|
import javafx.scene.Scene
|
|
import javafx.stage.Stage
|
|
|
|
/*
|
|
* Fireworks demo application
|
|
*/
|
|
class FireworksFXApplication extends Application {
|
|
|
|
private var loader : FXMLLoader
|
|
|
|
private val bundle : ResourceBundle = ResourceBundle.getBundle(
|
|
FireworksFXApplication.getPackage.name.replaceAll("\\.", "/") + "/" + FireworksFXApplication.simpleName);
|
|
|
|
@Override
|
|
public def start(stage : Stage) throws Exception {
|
|
var location : URL = getClass().getResource("FireworksFXApplication.fxml");
|
|
loader = new FXMLLoader();
|
|
loader.setLocation(location);
|
|
loader.setBuilderFactory(new JavaFXBuilderFactory());
|
|
loader.resources = bundle
|
|
var root : Parent = loader.load(location.openStream()) as Parent;
|
|
var scene : Scene = new Scene(root);
|
|
scene.getStylesheets().add(getClass().getResource("ViewerController.css").toExternalForm);
|
|
stage.setTitle(bundle.getString("TITLE"))
|
|
stage.setScene(scene);
|
|
stage.show();
|
|
}
|
|
|
|
public static def main(args : String[]) {
|
|
launch(args);
|
|
}
|
|
|
|
@Override
|
|
public def stop() throws Exception {
|
|
super.stop();
|
|
(loader.getController() as FXMLViewerController).cleanExit();
|
|
}
|
|
|
|
}
|