Hallo zusammen,
ich habe hier ein kleiner Editor zum starten von JavaFX Forms mit CodeBehind (Groovy Skript) hinterlegt. Mein erster Schritt ist JavaFX über Groovy Script Engine zu starten.
Wie ist das möglich?
Hier ist ein altes Beispiel: https://dzone.com/articles/calling-javafx-from-java
Und hier was ich versucht habe, leider wird die UI nicht geöffnet, warum nicht?
Main Klasse:
Groovy Klasse
Was benötige ich um da diesen Code zum Laufen zu bekommen?
Grüße
lam
P.S. Ich wußte nicht genau wohin dieser Thread reinpasst, da er ein bisschen und indirekt mit JavaFX zu tun hat, habe ich es hierrein gemacht.
ich habe hier ein kleiner Editor zum starten von JavaFX Forms mit CodeBehind (Groovy Skript) hinterlegt. Mein erster Schritt ist JavaFX über Groovy Script Engine zu starten.
Wie ist das möglich?
Hier ist ein altes Beispiel: https://dzone.com/articles/calling-javafx-from-java
Und hier was ich versucht habe, leider wird die UI nicht geöffnet, warum nicht?
Main Klasse:
Code:
import java.io.InputStreamReader;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
public class Main {
public static void main(String[] args) throws ScriptException {
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByExtension("groovy");
InputStreamReader reader = new InputStreamReader(Main.class.getResourceAsStream("main.groovy"));
engine.eval(reader);
}
}
Groovy Klasse
Code:
import javafx.application.Application
import javafx.scene.Scene
import javafx.scene.control.Button
import javafx.scene.layout.StackPane
import javafx.stage.Stage
import groovy.transform.CompileStatic
@CompileStatic
class HelloWorldFx extends Application {
static void main(String[] args) {
launch(args)
}
@Override
void start(Stage primaryStage) {
def btn = new Button()
btn.text = "Say 'Hello World'"
btn.onAction = { println 'Hello World!' }
def root = new StackPane()
root.children.add btn
primaryStage.title = 'Hello World!'
primaryStage.scene = new Scene(root, 300, 250)
primaryStage.show()
}
}
Was benötige ich um da diesen Code zum Laufen zu bekommen?
Grüße
lam
P.S. Ich wußte nicht genau wohin dieser Thread reinpasst, da er ein bisschen und indirekt mit JavaFX zu tun hat, habe ich es hierrein gemacht.