47 lines
1.3 KiB
Plaintext
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()
|
|
}
|
|
|
|
} |