sierpinski-fractales/src/main/sarl/io/sarl/demos/sierpinski/FractalesFXApplication.sarl

47 lines
1.3 KiB
Plaintext

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()
}
}