付費(fèi)下載
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
/快速入門歡迎使用BeanShell.這是一個速成課程。我們將省去一些重要的選項(xiàng)和細(xì)節(jié)。要學(xué)習(xí)更多的內(nèi)容請看本User′sGuide的其它部分。下載和運(yùn)行BeanShell請到/下載最新的JAR文件。你可以用圖形桌面模式和命令行模式起動BeanShell。
如果你只是要玩一玩BeanShell,你可以在BeanShell的jar文件上雙擊來起動BeanShell的桌面。但不管怎樣,如果你要讓BeanShell與你的類與應(yīng)用程序一起工作就必須將BeanShell的jar文件加到classpath中。
你可以將BeanShell的jar文件拖到JAVA_HOME的ext目錄也可以直接加到classpath中。個人收集整理勿做商業(yè)用途windows用戶請將bsh.jar放在JAVA_HOME/jre/lib/ext文件夾,OSX用戶可以放在/Library/Java/Extensions.
或者增加BeanShell到你的classpath目錄,如:
unix:
exportCLASSPATH=$CLASSPATH:bsh-xx.jar
windows:setclasspath%classpath%;bsh-xx.jar個人收集整理勿做商業(yè)用途然后你就可以運(yùn)行BeanShell在GUI或命令行模式:
javabsh.Console
//runthegraphicaldesktop
or
javabsh.Interpreter
//runastext-onlyonthecommandline
or
javabsh.Interpreterfilename[args]//runscriptfile個人收集整理勿做商業(yè)用途可以在你的應(yīng)用程序內(nèi)部來運(yùn)行,也可以作為debug及servlet的遠(yuǎn)程服務(wù)器模式,或一個Applet內(nèi)部來運(yùn)行BeanShell。請參考"BeanShellModesofOperation"獲得更多詳情。個人收集整理勿做商業(yè)用途BeanShellGUI用GUI模式啟動BeanShell后,將打開一個桌面視窗。用鼠標(biāo)右擊在桌面的背景上,你可以打開另一個控制臺視窗及其它的工具如一個簡單的類游覽器。
每一個控制臺視窗運(yùn)行一個獨(dú)立的BeanShell解釋器。這個圖形化的控制臺支持基本的歷史命令,行編輯,剪切和粘貼,甚至類和變量名的自動完成功能。從控制臺你能開啟一個簡單的編輯視窗。在它里面,你可以編寫腳本和使用‘eval’選項(xiàng)求表達(dá)式的值。個人收集整理勿做商業(yè)用途Java語句和表達(dá)式BeanShell能理解標(biāo)準(zhǔn)的JAVA語句,表達(dá)式,和方法宣告。語句和表達(dá)式的內(nèi)容可以是:變量,宣告,賦值,方法調(diào)用,循環(huán),條件等。
在Java程序中你必須嚴(yán)格的使用它們,但在BeanShell中,你可以用“寬松類型”(looselytyped)的方式來使用它們。也就是說,你可以在寫腳本時(shí)偷懶,不進(jìn)行變量類型的宣告(在原始數(shù)據(jù)類型和對象都可以)。如果你試著用錯變量類型,BeanShell將會給出一個錯誤。
這里有一些例子:個人收集整理勿做商業(yè)用途foo="Foo";
four=(2+2)*2/2;
print(foo+"="+four);
//print()isaBeanShellcommand
//Doaloop
for(i=0;i<5;i++)
print(i);
//Popupaframewithabuttoninit
button=newJButton("MyButton");
frame=newJFrame("MyFrame");
frame.getContentPane().add(button,"Center");
frame.pack();
frame.setVisible(true);個人收集整理勿做商業(yè)用途有用的BeanShell命令在剛才那個例子中我們用了一個內(nèi)建在BeanShell中的一個方便的命令print(),來顯示變量的值。print()跟ava的System.out.println()非常的相像,除非它能保證輸出總是命令行。print()也可以顯示一些對象的類型(如數(shù)組),但比Java的更詳細(xì)。另一個相關(guān)的命令是show(),用來開啟與關(guān)閉顯示你輸入的每一行的結(jié)果。
這兒是一些其它的BeanShell的命令:
source(),run()-將一個bsh腳本讀到解釋器或運(yùn)行在另一個解釋器。
frame()-顯示一個Frame或JFrame的GUI組件.
load(),save()-載入和保存一個序列化的對象到一個文件.
cd(),cat(),dir(),pwd(),etc.-類unix的shell命令。
exec()-運(yùn)行一個本地的程序。
javap()-打印一個對象的方法和字段,類似于Java的javap命令。
setAccessibility()-開啟無限制的存取private和protected的組件。
要獲得更多的信息請查看BeanShell命令的詳細(xì)清單。個人收集整理勿做商業(yè)用途提示:
BeanShell命令并不是真的"內(nèi)建"其中的,而是作為腳本方法自動從classpath載入的.你可以擴(kuò)展基本命令集并加到classpath中作為自訂義的腳本來使用。個人收集整理勿做商業(yè)用途腳本方法你可以在bsh中宣告和使用方法,就像在java的類中一樣。intaddTwoNumbers(inta,intb){
returna+b;
}
sum=addTwoNumbers(5,7);
//12個人收集整理勿做商業(yè)用途bsh的方法可以有動態(tài)的(寬松的)參數(shù)和返回類型。add(a,b){
returna+b;
}
foo=add(1,2);
//3
foo=add("Oh","baby");
//"Ohbaby"個人收集整理勿做商業(yè)用途實(shí)現(xiàn)Interface注意:如果要BeanShell能實(shí)現(xiàn)任意的Interface,必須有jdk1.3及以上支持。
你可以在腳本中用標(biāo)準(zhǔn)的Java內(nèi)部類的語法來實(shí)現(xiàn)Interface.例如:個人收集整理勿做商業(yè)用途ActionListenerscriptedListener=newActionListener(){
actionPerformed(event){...}
}個人收集整理勿做商業(yè)用途你可以不用實(shí)現(xiàn)Interface的所有方法,而只用實(shí)現(xiàn)你需要的方法。如果代碼中調(diào)用了未被實(shí)現(xiàn)的方法,將丟出異常。如果你想重載大量的方法的行為--例如為日志生成一個"啞"適配器--你可以在腳本對象中實(shí)現(xiàn)一個特殊的方法:invoke(name,args)。invoke()方法用來處理任何未被定義的方法的調(diào)用:個人收集整理勿做商業(yè)用途ml=newMouseListener(){
mousePressed(event){...}
//handletherest
invoke(name,args){print("Method:"+name+"invoked!");
}個人收集整理勿做商業(yè)用途腳本對象在BeanShell中,和在JavaScript與Perl中一樣,腳本對象是用封閉的方法體一構(gòu)成的。通過在方法未尾返回一個特殊值"this",你就可以像使用方法一樣調(diào)用這個對象了。在這個方法調(diào)用時(shí),你可以給與它任何的值。通常對象內(nèi)部需要包括方法,所以BeanShell的腳本方法在一定程度上可再包含一些方法以構(gòu)成腳本對象。例如:個人收集整理勿做商業(yè)用途foo(){
print("foo");
x=5;
bar(){
print("bar");
}
returnthis;
}
myfoo=foo();
//prints"foo"
print(myfoo.x);//prints"5"
myfoo.bar();
//prints"bar"個人收集整理勿做商業(yè)用途如果這些代碼對你來說很陌生,別急,請用戶手冊可得到更透徹的解釋。在你的腳本中,BeanShell腳本對象(也就是先前例子中的"this"參照)能自動實(shí)現(xiàn)任何JAVA介面類型。當(dāng)JAVA代碼調(diào)用相應(yīng)與之通訊的腳本方法內(nèi)的方法。當(dāng)你試著將腳本對象作為參數(shù)傳給Java方法時(shí),BeanShell會自動將它造型(cast)為相應(yīng)的類型。如要傳遞BeanShell外部的對象時(shí),你可以在需要時(shí)顯式的進(jìn)行造型(cast).請看用戶手冊中的詳細(xì)內(nèi)容。個人收集整理勿做商業(yè)用途從你的應(yīng)用程序調(diào)用BeanShell通過建立一個BeanShell解釋器,使用eval()或source()命令,你可以在你的應(yīng)用程序中求文本表達(dá)式的值和運(yùn)行腳本。如果你希望在你的腳本內(nèi)部使用一個對象,可以用set()方法傳遞對象的變量參照給BeanShell,并通過get()方法取得結(jié)果。個人收集整理勿做商業(yè)用途importbsh.Interpreter;
Interpreteri=newInterpreter();
//Constructaninterpreter
i.set("foo",5);
//Setvariables
i.set("date",newDate());
Datedate=(Date)i.get("da
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年A股市場分析白皮書
- 2026年中藥調(diào)劑(中藥用量控制)試題及答案
- 2026年住房供給側(cè)結(jié)構(gòu)性改革背景下的政策動向
- 2025年高職財(cái)務(wù)管理(財(cái)務(wù)會計(jì))試題及答案
- 2025年大學(xué)管理學(xué)(市場營銷原理)試題及答案
- 2025年大學(xué)漢語言文學(xué)(文學(xué)概論)試題及答案
- 2025年大學(xué)大三(操作系統(tǒng))進(jìn)程管理實(shí)踐測試試題及答案
- 2025年中職物聯(lián)網(wǎng)應(yīng)用技術(shù)(物聯(lián)網(wǎng)感知技術(shù))試題及答案
- 2025年大學(xué)現(xiàn)代種業(yè)技術(shù)(基因育種應(yīng)用)試題及答案
- 2025年高職(網(wǎng)絡(luò)營銷與直播電商)直播電商階段測試題及答案
- 2025年全國職業(yè)院校技能大賽中職組(母嬰照護(hù)賽項(xiàng))考試題庫(含答案)
- 2026江蘇鹽城市阜寧縣科技成果轉(zhuǎn)化服務(wù)中心選調(diào)10人考試參考題庫及答案解析
- 托管機(jī)構(gòu)客戶投訴處理流程規(guī)范
- 2026年及未來5年中國建筑用腳手架行業(yè)發(fā)展?jié)摿Ψ治黾巴顿Y方向研究報(bào)告
- 銀行客戶信息安全課件
- 2026年四川單招單招考前沖刺測試題卷及答案
- 2026年全國公務(wù)員考試行測真題解析及答案
- 2025新疆華夏航空招聘筆試歷年難易錯考點(diǎn)試卷帶答案解析
- (2025)70周歲以上老年人換長久駕照三力測試題庫(附答案)
- 金太陽山西省名校三晉聯(lián)盟2025-2026學(xué)年高三上學(xué)期12月聯(lián)合考試語文(26-177C)(含答案)
- 2026年泌尿護(hù)理知識培訓(xùn)課件
評論
0/150
提交評論