




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
27-目錄摘要 II第1章緒論 -1-第2章J2ME計算器 -2-2.1J2ME的基本概念 -2-2.2J2ME平臺的搭建 -2-2.2.1構建J2ME平臺 -2-2.2.2計算器的實現(xiàn) -4-第3章運行結果 -7-3.1運行和結果 -7-3.1.1計算器演示 -7-參考文獻 -9-附錄 -10-
J2ME計算器設計摘要本文簡單介紹了J2ME技術,J2ME(Java2MicroEdition)是Java2的一個組成部分,它與J2SE、J2EE并稱。根據(jù)Sun的定義:J2ME是一種高度優(yōu)化的Java運行環(huán)境,主要針對消費類電子設備的,例如蜂窩電話和可視電話、數(shù)字機頂盒、汽車導航系統(tǒng)等等。J2ME技術在1999年的JavaOneDeveloperConference大會上正式推出,它將Java語言的與平臺無關的特性移植到小型電子設備上,允許移動無線設備之間共享應用程序。本文通過介紹J2ME平臺的搭建,從而能實現(xiàn)計算器的設計。關鍵詞:J2ME,搭建,實現(xiàn)設計第1章緒論在今天計算已經(jīng)無處不在。越來越多的人開始認為,經(jīng)過了許多人共享一臺計算機的大型主機時代,一人一臺計算機的個人PC時代之后,下一個時代就是一人多臺計算設備的普及計算時代(UbiquitousComputing,IBM稱之為PervasiveComputing)。計算設備將從單一的PC擴展到各種各樣的大小和功能,從家庭消費電子產(chǎn)品,到個人隨身攜帶,穿著,車載的各種移動信息處理設備,多樣化是這個領域的最大特點。網(wǎng)絡是這個領域最重要的增值特性。當手機可以隨時隨地無線上網(wǎng),PDA可以和個人PC同步,車載PC可以獲得網(wǎng)上GPS地圖數(shù)據(jù)時,這些孤立的設備才能夠發(fā)揮最大的作用。而平臺無關性和網(wǎng)絡功能正是J2ME的設計目標和能力(事實上,Java最初的設計目標就是用于消費電子領域,但是后來在PC和服務器上得到了發(fā)展)。一次編寫,到處運行的平臺無關性,對網(wǎng)絡,多重設備間聯(lián)網(wǎng)的機制(JINI)顯然對這個領域是至關重要的軟件條件。這個領域內(nèi)的Java標準就是J2ME。
明天的計算將進入普及計算時代。各種消費電子產(chǎn)品,包括智能手機,PDA,Web-TV,將來的信息家電等等將實現(xiàn)隨時隨地的計算。這是一個異常廣闊和豐富多彩的領域,其設備極度多樣化而且都將在網(wǎng)絡中,Java技術的跨平臺性和網(wǎng)絡功能在這里大有用武之地。這就是J2ME,這一豐富多彩的領域中生機勃勃的技術。
第2章J2ME計算器2,1J2ME的基本概念J2ME(Java2MicroEdition)是Java2的一個組成部分,它與J2SE、J2EE并稱。Java2版本書籍根據(jù)Sun的定義:J2ME是一種高度優(yōu)化的Java運行環(huán)境,主要針對消費類電子設備的,例如蜂窩電話和可視電話、數(shù)字機頂盒、汽車導航系統(tǒng)等等。J2ME技術在1999年的JavaOneDeveloperConference大會上正式推出,它將Java語言的與平臺無關的特性移植到小型電子設備上,允許移動無線設備之間共享應用程序。2.2J2ME平臺的搭建2.2.1構建J2ME平臺1.從如下地址下載相關的軟件。J2SDK1.4.2_03+WTK2.1:Eclipse3.0RC2EclipseME0.4.12. 按照順序依次安裝J2SDK1.4.2_03、WTK2.1、Eclipse3.0RC2和EclipseME0.4.1,安裝完j2sdk后應該設置環(huán)境變量classpath、path和JAVA_HOME等環(huán)境變量。接下來安裝WTK2.1,和一般的應用程序安裝一樣。安裝以后可以從KToolBar里面運行一下WTK2.1里面自帶的一些Demo,如果正常運行表示W(wǎng)TK安裝正確,下面我們要搭建Eclipse的開發(fā)環(huán)境了,Eclipse的安裝很簡單,你直接把Eclipse3.0RC2解壓到c:\eclipse就可以了。直接運行Eclipse.exe這樣你就可以看到Eclipse的運行界面了。如果沒有用過Eclipse的話那么你可以看看幫助文檔,自己做個小java項目運行一下。下面我們要安裝EclipseME.0.4.1的插件了,關閉Eclipse然后解壓EclipseME0.4.1到c:\eclipse\plugin里面,重新啟動Eclipse,選擇windows->preferences可以進行配置J2ME開發(fā)平臺(圖2.1)圖2.1開發(fā)平臺選擇PlatformComponents->WirelessToolkits,右鍵選擇addWirelessToolkit會出現(xiàn)下面的界面。圖2.2配置界面2.2.2計算器的實現(xiàn)1.簡單計算器功能圖圖2.3功能圖2.簡單計算器界面把其放到到eclipse生產(chǎn)的工程目錄的res目錄下。圖2.4界面3.通過J2ME平臺實現(xiàn)新建一個項目來開發(fā)J2ME項目,選擇file->new->others->J2ME->J2MEMIDletsuite,然后填寫項目的名字calc,選擇下一步最后完成,這樣就新建了一個J2ME項目了。圖2.5新建接下來從PackageExplorer里面選擇項目calc然后新建一個J2MEMIDlet名字命名為calc,然后使用Eclipse編譯。啟動Eclipse,配置EclipseME插件。要實現(xiàn)這個功能,請單擊"Window"菜單,然后選擇"Preferences"菜單項,然后在彈出的菜單中選擇"J2ME"。然后執(zhí)行以下步驟:點擊"PlatformComponents",見圖2.6。右鍵單擊右邊窗口"WirelessToolkits",選擇"AddWirelessToolkit",此時會彈出窗口(見圖2.7),"WirelessToolkitDirectory"設置為wtk_home對應的安裝目錄。圖2.6EclipseME插件配置界面圖2.7添加WirelessToolkit安裝完成之后應該出現(xiàn)如圖2.8的界面。圖2.8配置EclipseME插件圖2.9然后編譯代碼。第3章運行結果3.1運行和結果3.1.1計算器演示從菜單選擇Run->run參照下圖配置運行環(huán)境。圖3.1RUN1.加法運算第一個操作數(shù)輸入7,第二個操作數(shù)輸入8,點擊“=”。如圖3.2所示圖3.2加法2.除法運算第一個操作數(shù)輸入20,第二個操作數(shù)輸入2,點擊“=”。如圖3.3所示圖3.3除法3.減法運算第一個操作數(shù)輸入100,第二個操作數(shù)輸入55,點擊“=”。如圖3.4所示圖3.4減法4.乘法運算第一個操作數(shù)輸入5,第二個操作數(shù)輸入12,點擊“=”。如圖3.5所示圖3.5乘法參考文獻BruceEckel著.侯捷譯.Java編程思想[M].機械工業(yè)出版社出版社.2009.35-40.JoshuaBloce著.潘愛民譯.EffectiveJava中文版[M].機械工業(yè)出版社.2004.102-108.飛思科技產(chǎn)品研發(fā)中心.J2EE應用開發(fā)[C].2005年6月第一版.電子工業(yè)出版社.2005.
附錄程序1:CalcCanvaspackagemy.calc;importcom.nokia.mid.ui.FullCanvas;importjavax.microedition.lcdui.*;importjava.io.*;/***計算器界面*<p>Description:</p>*<p>Copyright:Copyright(c)2005</p>*<p>Company:</p>*@version1.0*/publicclassCalcCanvasextendsFullCanvas{/**退出按鈕*/privateCommandcmdExit;/**標題*/privateStringtitle="Calculator";/**字體*/privateFontf;/**顯示的數(shù)字*/privatelongresult=0;/**焦點編號*/privateintnum=0;/**焦點坐標*/privateintfocusX=5;privateintfocusY=52;/**按鈕寬度間隔*/privateintintervalWidth=2;privateintintervalHeight=2;/**圖片起點坐標*/privateintx=10;privateinty=70;/**按鈕尺寸*/privateintbuttonWidth=37;privateintbuttonHeight=28;/**圖片文件*/privateImageimage=null;/**存儲控件代表的內(nèi)容*/privatechar[]info={'7','8','9','/','4','5','6','*','1','2','3','-','0','?','=','+'};/**運算中的第一個數(shù)字*/privatelongfirstNum=0;/**運算中的第二個數(shù)字*/privatelongsecondNum=0;/**是否輸入第一個數(shù)字,true代表已經(jīng)輸入,false代表未輸入*/privatebooleanflag=false;/**存儲按下的運算按鈕的下標*/privateintfunc=0;/**默認構造方法*/publicCalcCanvas(){try{image=Image.createImage("/calc.png");//System.out.println(x);}catch(IOExceptione){//ignoreSystem.out.println(e);}}/***繪制*@paramg圖形對象*/publicvoidpaint(Graphicsg){/**清除當前顯示*/g.setColor(255,255,255);g.fillRect(0,0,getWidth(),getHeight());//恢復系統(tǒng)顏色g.setColor(0,0,0);f=g.getFont();//繪制標題g.drawString(title,getWidth()/2,f.getHeight()/2,Graphics.TOP|Graphics.HCENTER);//繪制文本框g.drawRect(3,24,172,20);//繪制數(shù)字Stringtemp=Long.toString(result);g.drawString(temp,getWidth()-3,30,Graphics.TOP|Graphics.RIGHT);//繪制面板g.drawImage(image,2,50,Graphics.TOP|Graphics.LEFT);//繪制焦點drawFocus(g,num);}/***事件處理*@paramkeyCode按鈕值*/publicvoidkeyPressed(intkeyCode){//System.out.println(keyCode);//向左移動,如果移動到右邊界,則移動到下一行if(keyCode==KEY_LEFT_ARROW){//判斷是否到達最后一個if(num==0){num=15;}else{num--;}}//向右移動,如果移動到左邊界,則移動到上一行末尾if(keyCode==KEY_RIGHT_ARROW){//判斷是否到達第一個if(num==15){num=0;}else{num++;}}//向上移動,如果移動到上邊界,則移動到下邊界對應位置if(keyCode==KEY_UP_ARROW){//判斷是否移動到上邊界,如果是則移動到下邊界的對應位置if(num-4<0){num=15+num-3;}else{num=num-4;}}//向下移動,如果移動到下邊界,則移動到上邊界對應位置if(keyCode==KEY_DOWN_ARROW){//判斷是否達到下邊界,如果是則移動到上邊界的對應位置if(num+4>15){num=num+3-15;}else{num=num+4;}}//確定按鈕if(keyCode==-5){//根據(jù)選擇按鈕的不同進行操作action();}//System.out.println("num:"+num);//繪圖repaint();}/***繪制焦點矩形*@paramg圖形對象*@paramnum焦點編號*/privatevoiddrawFocus(Graphicsg,intnum){//設置繪制顏色為紅色g.setColor(255,0,0);//設置焦點的X和Y坐標setXandYByNum(num);//繪制選擇框g.drawRect(focusX,focusY,buttonWidth,buttonHeight);}/***根據(jù)焦點編號,設置焦點的X和Y坐標*@paramnum焦點編號*/privatevoidsetXandYByNum(intnum){focusX=5+(num%4)*(buttonWidth+intervalWidth);focusY=52+(num/4)*(buttonHeight+intervalHeight);}/***在用戶按下確定按鈕以后,根據(jù)選擇按鈕的不同進行操作*/privatevoidaction(){//判斷焦點按鈕是否為數(shù)字if((num>=0&&num<3)||(num>3&&num<7)||(num>7&&num<11)||(num==12)){//如果是數(shù)字,則將原數(shù)字乘以10,再加上現(xiàn)在的數(shù)字result=result*10+(info[num]-'0');}//如果按下的是負號,則求當前數(shù)字的負數(shù)if(num==13){result=-result;}//判斷第一個數(shù)字是否輸入if(flag==true){secondNum=result;//處理功能按鈕//按下=按鈕,或者按下運算按鈕時,進行運算if(num==14||(num%4==3)){//根據(jù)運算按鈕進行運算if(func==3){//除法運算result=firstNum/secondNum;}elseif(func==7){//乘法運算result=firstNum*secondNum;}elseif(func==11){//減法運算result=firstNum-secondNum;}elseif(func==15){//加法運算result=firstNum+secondNum;}if(num==14){//將運算結果賦給第一個數(shù)字firstNum=result;//將標志修改為falseflag=false;}else{//記錄運算按鈕func=num;//將運算結果賦給第一個數(shù)字firstNum=result;//將顯示清零result=0;}}}else{//將當前值賦給第一個數(shù)字firstNum=result;//判斷是否按下運算按鈕,并存儲按下的運算按鈕if(num%4==3){func=num;//設置第一個數(shù)字已輸入,并將顯示清零flag=true;result=0;}}}}程序2:CalcMIDletpackagemy.calc;importjavax.microedition.midlet.*;importjavax.microedition.lcdui.*;publicclassCalcMIDletextendsMIDlet{privatestaticCalcMIDletinstance;privateCalcCanvascalc=newCalcCanvas();/**Constructor*/publicCalcMIDlet(){instance=this;}/**Mainmethod*/publicvoidstartApp(){Display.getDisplay(this).setCurrent(calc);}/**HandlepausingtheMIDlet*/publicvoidpauseApp(){}/**HandledestroyingtheMIDlet*/publicvoiddestroyApp(booleanunconditional){}/**QuittheMIDlet*/publicstaticvoidquitApp(){instance.destroyApp(true);instance.notifyDestroyed();instance=null;}}目錄第一章可行性研究報告概述 11.1項目名稱 11.2項目承擔單位 11.3項目建設地點 11.4可研報告編制單位 11.5項目概述及主要經(jīng)濟技術指標 1第二章編制目的、依據(jù)、原則和范圍 52.1編制目的 52.2編制依據(jù) 52.3編制原則 52.4可行性研究的范圍 6第三章建設的必要性 73.1符合國家“十一五”規(guī)劃綱要和循環(huán)經(jīng)濟要求 73.2環(huán)境保護和節(jié)能降耗的需要 83.3企業(yè)可持續(xù)發(fā)展的需要 9第四章項目建設條件 104.1主體工程概況 104.2廠址選擇 124.3公用設施及社會依托條件 12第五章改造規(guī)模與產(chǎn)品方案 155.1改造規(guī)模 155.2生產(chǎn)方案 15第六章生產(chǎn)設備節(jié)電技改方案 166.1企業(yè)能耗現(xiàn)狀分析 166.2改造設備運行參數(shù) 166.3技術方案、設備方案 176.4項目建議改造方案 226.5消耗定額 256.6小結 25第七章項目實施機構和項目法人 287.1項目實施機構 287.2項目法人 28第八章環(huán)境保護 28第八章環(huán)境保護 29第九章社會經(jīng)濟效益 319.1環(huán)境效益 319.2社會效益 31第十章節(jié)約和合理利用能源 3310.1節(jié)能依據(jù)及標準 3310.2節(jié)能設計原則 3310.3能耗分析 3310.4節(jié)能措施及節(jié)能效果分析 34第十一章環(huán)境安全與勞動保護 PAGEREF_To
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 買賣種子合同范本
- 農(nóng)業(yè)委托種植合同范本
- 體育新城租房合同范本
- 剩余瓷磚售賣合同范本
- 人工包給勞務公司合同范本
- 協(xié)助出口退稅合同范本
- 農(nóng)資經(jīng)營聘用合同范本
- 3人共同合作合同范本
- lng承運合同范本
- 醫(yī)保專員勞動合同范本
- 中小學領導班子包級包組包班制度
- 汽車掛靠經(jīng)營合同協(xié)議書模板
- 基坑土方開挖專項施工方案(完整版)
- 電網(wǎng)工程設備材料信息參考價(2024年第四季度)
- 2025年江蘇農(nóng)牧科技職業(yè)學院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 數(shù)據(jù)中心運維服務投標方案(技術標)
- 瑞幸對賭協(xié)議
- 部編人教版四年級下冊道德與法治全冊教案
- 2024年湖南鐵道職業(yè)技術學院單招職業(yè)技能測試題庫及答案解析word版
- 健康保險學PPT完整全套教學課件
- 大學生心理健康教育高職PPT完整全套教學課件
評論
0/150
提交評論