爱问知识人 爱问教育 医院库

Java的脚本动态用法是什么?

首页

Java的脚本动态用法是什么?

Java的脚本动态用法是什么?

提交回答

全部答案

    2017-07-28 01:20:41
  •   function doSth(){
    jf。setSize(500,300);
    jf。setVisible(true);
    jf。setDefaultCloseOperation(jf。EXIT_ON_CLOSE);
    }
    function getNames(){
    list。
      add("doSth"); list。add("getNames"); return list; } function testJS(){ print('Hello world!'); } import java。io。FileReader; import java。
      util。ArrayList; import java。util。List; import javax。script。Bindings; import javax。script。Invocable; import javax。script。
      ScriptContext; import javax。script。ScriptEngine; import javax。script。ScriptEngineManager; import javax。swing。JFrame; /** * * @author hadeslee */ public class Test { public static void main(String[] args)throws Exception { //根据js的后缀名生成一个解析JS的脚本解析引擎 ScriptEngine engin=new ScriptEngineManager()。
      getEngineByExtension("js"); //查询一下这个引擎是否实现了下面很实用的接口 System。out。println(engin instanceof Invocable); //声明两个对象,传入到JS里面去 JFrame jf=new JFrame("test"); List list=new ArrayList(); //得到挷定的键值对象,把当前的两个JAVA对象放进去 Bindings bind=engin。
      createBindings(); bind。put("jf",jf); bind。put("list",list); //把挷下的键值对象放进去,作用域是当前引擎的范围 engin。setBindings(bind,ScriptContext。
      ENGINE_SCOPE); //用引擎执行一段写在JS文件里面的代码 Object obj=engin。eval(new FileReader("test。js")); //这个时候返回值当然 是null了 System。out。println(obj); //把当前的引擎强制转为Invocable,这样就可以调用定义在JS文件里面的一个一个函数了 Invocable in=(Invocable)engin; //得到了从JS里面返回来的对象 List l=(List)in。
      invokeFunction("getNames"); System。out。println(l); //调用一下定义在JS里面的另一个函数 in。invokeFunction("testJS"); //最后调用一个函数,该函数可以使我们前面定义的窗体显示出来 in。
      invokeFunction("doSth"); } }。

    陈***

    2017-07-28 01:20:41

类似问题

换一换

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):