Java脚本动态用法是什么呢?
Java脚本动态用法是什么呢?
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"); } }。
答:function doSth(){ jf.setSize(500,300); jf.setVisible(true); jf.setDefaultCloseOp...详情>>
问:同事ip:10.101.107.28 我的IP:10.101.104.23我们在...
答:你们公司是WINDOWS域环境吗,如果是的话,你在网上邻居里应该能看到对方的主机。让她把文件夹共享出来就可以。 如果不是WINDOWS域,那得看你们是不是在一个...详情>>
问:数据结构顺序表的建立,可定义顺序表 #define maxnum elemtyp...
答:打开VC ,然后点击新建,出来界面之后选择Win32 Console Application并输入工程的名称和选择项目的位置,然后出现“一个空工程”,在点击“...详情>>