Ignore:
Timestamp:
07/04/17 14:42:52 (7 years ago)
Author:
davidb
Message:

Updates to cope with changes in Java ScriptEngine

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/expeditee/items/widgets/JSWidget.java

    r1078 r1080  
    2727import javax.script.Invocable;
    2828import javax.script.ScriptEngine;
     29import javax.script.ScriptEngineManager;
     30import javax.script.ScriptException;
     31
    2932import javax.swing.JPanel;
    3033
    31 import org.expeditee.actions.Javascript2;
    3234import org.expeditee.gui.DisplayIO;
    3335import org.expeditee.items.ItemParentStateChangedEvent;
     
    4345public class JSWidget extends DataFrameWidget implements JSThreadable {
    4446       
     47        private static ScriptEngineManager scriptEngineManager = null;
     48        private static ScriptEngine globalScriptEngine = null;
    4549        private static Object global = null;
    4650       
     
    5963        // container for our component
    6064        private final JPanel container;
    61        
     65
     66        static {
     67            try {
     68                scriptEngineManager = new ScriptEngineManager();
     69                globalScriptEngine = scriptEngineManager.getEngineByMimeType("application/javascript");
     70                global = globalScriptEngine.eval("new Object()");
     71            } catch (ScriptException e) {
     72                e.printStackTrace();
     73            }
     74        }
     75   
    6276        private static Text getSauce() {
    6377                Text source = new Text(DisplayIO.getCurrentFrame().getNextItemID(), "@iw: org.expeditee.items.widgets.JSWidget");
     
    6882        private JSWidget(Text source, int width, int height, String init, String save, String load) throws Exception {
    6983                super(source, new JPanel(new BorderLayout()), -1, width, -1, -1, height, -1);
    70                 if (global == null) {
    71                     global = Javascript2.eval("new Object()");
    72                 }
     84
    7385                this.init = init;
    7486                this.save = save;
    7587                this.load = load;
    7688                this.container = (JPanel) super._swingComponent;
    77                 this.scriptEngine = Javascript2.scriptEngineManager.getEngineByMimeType("application/javascript");
     89                this.scriptEngine = scriptEngineManager.getEngineByMimeType("application/javascript");
    7890                this.invocable = (Invocable) this.scriptEngine;
    7991                this.scriptEngine.put("global", global);
Note: See TracChangeset for help on using the changeset viewer.