Java可以編寫桌面應用程式、Web應用程式、分散式系統和嵌入式系統應用程式等。下面是小編整理的關於Java指令碼動態用法,歡迎大家參考!
Java指令碼動態用法function doSth(){
ize(500,300);
isible(true);
efaultCloseOperation(_ON_CLOSE);
}
function getNames(){
("doSth");
("getNames");
return list;
}
function testJS(){
print('Hello world!');
}
import Reader;
import yList;
import ;
import ings;
import cable;
import ptContext;
import ptEngine;
import ptEngineManager;
import me;
/**
*
* @author hadeslee
*/
public class Test {
public static void main(String[] args)throws Exception {
//根據js的`字尾名生成一個解析JS的指令碼解析引擎
ScriptEngine engin=new ScriptEngineManager()ngineByExtension("js");
//查詢一下這個引擎是否實現了下面很實用的介面
tln(engin instanceof Invocable);
//宣告兩個物件,傳入到JS裡面去
JFrame jf=new JFrame("test");
List list=new ArrayList();
//得到挷定的鍵值物件,把當前的兩個JAVA物件放進去
Bindings bind=teBindings();
("jf",jf);
("list",list);
//把挷下的鍵值物件放進去,作用域是當前引擎的範圍
indings(bind,NE_SCOPE);
//用引擎執行一段寫在JS檔案裡面的程式碼
Object obj=(new FileReader(""));
//這個時候返回值當然 是null了
tln(obj);
//把當前的引擎強制轉為Invocable,這樣就可以呼叫定義在JS檔案裡面的一個一個函數了
Invocable in=(Invocable)engin;
//得到了從JS裡面返回來的物件
List l=(List)keFunction("getNames");
tln(l);
//呼叫一下定義在JS裡面的另一個函式
keFunction("testJS");
//最後呼叫一個函式,該函式可以使我們前面定義的窗體顯示出來
keFunction("doSth");
}
}
Copyright ©2024 才華齋 All Rights Reserved.