import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.io.Reader; import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; import javax.script.ScriptException; import javax.swing.SwingUtilities; public class ScriptRunner { class ExecuteScript implements Runnable { private String fileName; public ExecuteScript(String fileName) { this.fileName = fileName; } public void run() { try { execute(fileName); } catch (IOException e) { e.printStackTrace(); } } private void execute(String fileName) throws IOException { FileReader reader = null; try { reader = new FileReader(fileName); runScript(reader); } catch (FileNotFoundException e) { e.printStackTrace(); } finally { if (reader != null) { reader.close(); } } } private void runScript(Reader reader) { ScriptEngineManager manager = new ScriptEngineManager(); ScriptEngine engine = manager.getEngineByName("FX"); if (engine != null) { try { engine.eval(reader); } catch (ScriptException e) { e.printStackTrace(); } } } } public static void main(String[] args) { String fileName; if (args.length == 0) { fileName = "SimpleFxSample.fx"; } else { fileName = args[0]; } ScriptRunner runner = new ScriptRunner(); SwingUtilities.invokeLater(runner.new ExecuteScript(fileName)); } }