锘??xml version="1.0" encoding="utf-8" standalone="yes"?>鍩烘湰緇勪歡錛?/strong> xtype Class 鎻忚堪 button Ext.Button 鎸夐挳 splitbutton Ext.SplitButton 甯︿笅鎷夎彍鍗曠殑鎸夐挳 cycle Ext.CycleButton 甯︿笅鎷夐夐」鑿滃崟鐨勬寜閽?/td> buttongroup Ext.ButtonGroup 緙栫粍鎸夐挳(Since 3.0) slider Ext.Slider 婊戝姩鏉?/td> progress Ext.ProgressBar 榪涘害鏉?/td> statusbar Ext.StatusBar 鐘舵佹潯錛?.2鍔犺繘鏉ワ紝3.0 鍙堝幓浜?/td> colorpalette Ext.ColorPalette 璋冭壊鏉?/td> datepicker Ext.DatePicker 鏃ユ湡閫夋嫨闈㈡澘 瀹瑰櫒鍙婃暟鎹被緇勪歡 xtype Class 鎻忚堪 window Ext.Window 紿楀彛 viewport Ext.ViewPort 瑙嗗彛錛屽嵆嫻忚鍣ㄧ殑瑙嗗彛錛岃兘闅忎箣浼哥緝 box Ext.BoxComponent 鐩掑瓙緇勪歡錛岀浉褰撲簬涓涓?<div> component Ext.Component 緇勪歡 container Ext.Container 瀹瑰櫒 panel Ext.Panel 闈㈡澘 tabpanel Ext.TabPanel 閫夐」闈㈡澘 treepanel Ext.tree.TreePanel 鏍戝瀷闈㈡澘 flash Ext.FlashComponent 鏄劇ず Flash 鐨勭粍浠?Since 3.0) grid Ext.grid.GridPanel 琛ㄦ牸 editorgrid Ext.grid.EditorGridPanel 鍙紪杈戠殑琛ㄦ牸 propertygrid Ext.grid.PropertyGrid 灞炴ц〃鏍?/td> editor Ext.Editor 緙栬緫鍣?/td> dataview Ext.DataView 鏁版嵁鏄劇ず瑙嗗浘 listview Ext.ListView 鍒楄〃瑙嗗浘 宸ュ叿鏍忕粍浠訛細 xtype Class 鎻忚堪 paging Ext.PagingToolbar 鍒嗛〉宸ュ叿鏉?/td> toolbar Ext.Toolbar 宸ュ叿鏍?/td> tbbutton Ext.Toolbar.Button 宸ュ叿鏍忔寜閽?/td> tbfill Ext.Toolbar.Fill 宸ュ叿鏍忓~鍏呭尯 tbitem Ext.Toolbar.Item 宸ュ叿鏉¢」鐩?/td> tbseparator Ext.Toolbar.Separator 宸ュ叿鏍忓垎闅旂 tbspacer Ext.Toolbar.Spacer 宸ュ叿鏍忕┖鐧?/td> tbsplit Ext.Toolbar.SplitButton 宸ュ叿鏍忓垎闅旀寜閽?/td> tbtext Ext.Toolbar.TextItem 宸ュ叿鏍忔枃鏈」 鑿滃崟緇勪歡錛?/td> xtype Class 鎻忚堪 menu Ext.menu.Menu 鑿滃崟 colormenu Ext.menu.ColorMenu 棰滆壊閫夋嫨鑿滃崟 datemenu Ext.menu.DateMenu 鏃ユ湡閫夋嫨鑿滃崟 menubaseitem BaseItem menucheckitem Ext.menu.CheckItem 閫夐」鑿滃崟欏?/td> menuitem Ext.menu.Item menuseparator Ext.menu.Separator 鑿滃崟鍒嗛殧綰?/td> menutextitem Ext.menu.TextItem 鏂囨湰鑿滃崟欏?/td> 琛ㄥ崟鍙婅〃鍗曞煙緇勪歡錛?/td> xtype Class 鎻忚堪 form Ext.FormPanel/Ext.form.FormPanel 琛ㄥ崟闈㈡澘 checkbox Ext.form.Checkbox 澶氶夋 combo Ext.form.ComboBox 涓嬫媺妗?/td> datefield Ext.form.DateField 鏃ユ湡閫夋嫨欏?/td> timefield Ext.form.TimeField 鏃墮棿褰曞叆欏?/td> field Ext.form.Field 琛ㄥ崟瀛楁 fieldset Ext.form.FieldSet 琛ㄥ崟瀛楁緇?/td> hidden Ext.form.Hidden 琛ㄥ崟闅愯棌鍩?/td> htmleditor Ext.form.HtmlEditor HTML 緙栬緫鍣?/td> label Ext.form.Label 鏍囩 numberfield Ext.form.NumberField 鏁板瓧緙栬緫鍣?/td> radio Ext.form.Radio 鍗曢夋寜閽?/td> textarea Ext.form.TextArea 澶氳鏂囨湰妗?/td> textfield Ext.form.TextField 琛ㄥ崟鏂囨湰妗?/td> trigger Ext.form.TriggerField 瑙﹀彂褰曞叆欏?/td> checkboxgroup Ext.form.CheckboxGroup 緙栫粍鐨勫閫夋(Since 2.2) displayfield Ext.form.DisplayField 浠呮樉紺猴紝涓嶆牎楠?涓嶈鎻愪氦鐨勬枃鏈 radiogroup Ext.form.RadioGroup 緙栫粍鐨勫崟閫夋寜閽?Since 2.2) 鍥捐〃緇勪歡錛?/td> xtype Class 鎻忚堪 chart Ext.chart.Chart 鍥捐〃緇勪歡 barchart Ext.chart.BarChart 鏌辯姸鍥?/td> cartsianchart Ext.chart.CartesianChart columnchart Ext.chart.ColumnChart linechart Ext.chart.LineChart 榪炵嚎鍥?/td> piechart Ext.chart.PieChart 鎵囧艦鍥?/td> 鏁版嵁闆?Store錛?/td> xtype Class 鎻忚堪 arraystore Ext.data.ArrayStore directstore Ext.data.DirectStore groupingstore Ext.data.GroupingStore jsonstore Ext.data.JsonStore simplestore Ext.data.SimpleStore store Ext.data.Store xmlstore Ext.data.XmlStore
import javax.script.Invocable;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
public class ScriptTest {
public static void main(String[] args) throws Exception {
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("JavaScript");
testScriptVariables(engine);// 婕旂ず濡備綍鏆撮湶Java瀵硅薄涓鴻剼鏈璦鐨勫叏灞鍙橀噺
testInvokeScriptMethod(engine);// 婕旂ず濡備綍鍦↗ava涓皟鐢ㄨ剼鏈璦鐨勬柟娉?br />
testScriptInterface(engine);// 婕旂ず鑴氭湰璇█濡備綍瀹炵幇Java鐨勬帴鍙?br />
testUsingJDKClasses(engine);// 婕旂ず鑴氭湰璇█濡備綍浣跨敤JDK騫沖彴涓嬬殑綾?br />
}
public static void testScriptVariables(ScriptEngine engine)
throws ScriptException {
File file = new File("e:/test/aaa.txt");
engine.put("f", file);
engine.eval("println('Total Space:'+f.getTotalSpace())");
}
public static void testInvokeScriptMethod(ScriptEngine engine)
throws Exception {
String script = "function hello(name) { return 'Hello,' + name;}";
engine.eval(script);
Invocable inv = (Invocable) engine;
String res = (String) inv.invokeFunction("hello", "Scripting");
System.out.println("res:" + res);
}
public static void testScriptInterface(ScriptEngine engine)
throws ScriptException {
String script = "var obj = new Object(); obj.run = function() { println('run method called'); }";
engine.eval(script);
Object obj = engine.get("obj");
Invocable inv = (Invocable) engine;
Runnable r = inv.getInterface(obj, Runnable.class);
Thread th = new Thread(r);
th.start();
}
public static void testUsingJDKClasses(ScriptEngine engine)
throws Exception {
// Packages鏄剼鏈璦閲岀殑涓涓叏灞鍙橀噺,涓撶敤浜庤闂甁DK鐨刾ackage
String js = "function doSwing(t){var f=new Packages.javax.swing.JFrame(t);f.setSize(400,300);f.setVisible(true);}";
engine.eval(js);
Invocable inv = (Invocable) engine;
inv.invokeFunction("doSwing", "Scripting Swing");
}
}
import java.io.File;
import java.io.FileReader;
import javax.script.Invocable;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
public class 鎵цJS鏂囦歡 {
public static void main(String[] args) {
try {
鎵цJS鏂囦歡 engine = new 鎵цJS鏂囦歡();
engine.exeFunAdd(100, 200);
} catch(Exception e) {
e.printStackTrace();
}
}
public String getPath() {
File f = new File("");
return f.getAbsolutePath() + "/js/";
}
public void exeFunAdd(int a ,int b) {
ScriptEngineManager sem = new ScriptEngineManager();
ScriptEngine jsEngine = sem.getEngineByName("javascript");
try {
jsEngine.eval(new FileReader(getPath()+"funs.js"));
} catch (Exception e) {
e.printStackTrace();
}
Invocable invocableEngine = (Invocable)jsEngine;
try {
Object ret = invocableEngine.invokeFunction("add", a,b);
System.out.println(ret);
} catch (Exception e) {
}
}
}