package io.sarl.demos.sierpinski import io.sarl.demos.sierpinski.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 /* * Sierpinski fractal demo */ class FractalesFXApplications extends Application { private var loader : FXMLLoader private val bundle : ResourceBundle = ResourceBundle.getBundle( FractalesFXApplications.getPackage.name.replaceAll("\\.", "/") + "/" + FractalesFXApplications.simpleName); @Override public def start(stage: Stage) throws Exception { var location: URL = getClass().getResource("FractalesFXApplication.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.stylesheets.add(class.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.controller as FXMLViewerController).exitApplication() } }