




已閱讀5頁(yè),還剩32頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
面向?qū)ο蟪绦蛟O(shè)計(jì)II -J2ME課程設(shè)計(jì)論文題 目:手機(jī)個(gè)人通訊錄學(xué) 院:計(jì)算機(jī)與信息工程學(xué)院專(zhuān) 業(yè):計(jì)算機(jī)科學(xué)與技術(shù)班 級(jí):計(jì)算機(jī)06-6班姓 名:羅 溪學(xué) 號(hào):07起止時(shí)間:2010.07.06-2010.07.16 成績(jī): 課程設(shè)計(jì)成績(jī)?cè)u(píng)定表質(zhì)量評(píng)價(jià)指標(biāo)(在相應(yīng)欄目打)評(píng) 價(jià) 項(xiàng) 目評(píng) 價(jià) 質(zhì) 量?jī)?yōu)秀良好一般及格不及格工作量和態(tài)度實(shí)驗(yàn)、計(jì)算可靠性文字和圖表質(zhì)量程序完成情況總體評(píng)價(jià)評(píng)定成績(jī)?cè)u(píng)定人員簽名IV課程設(shè)計(jì)任務(wù)書(shū)一、設(shè)計(jì)題目:手機(jī)個(gè)人通訊錄二、設(shè)計(jì)內(nèi)容:個(gè)人通信錄是在移動(dòng)電話(huà)中常用的程序,它可以用來(lái)理解在持久存儲(chǔ)中進(jìn)行添加、查找和刪除的過(guò)程.它可以清楚地演示每個(gè)界面切換的過(guò)程,以及響應(yīng)用戶(hù)輸入命令的方法。介紹自己程序的總體功能三、設(shè)計(jì)要求:1開(kāi)始顯示初始化歡迎界面,主界面顯示用戶(hù)可操作的基本功能,如添加聯(lián)系人,查看聯(lián)系人,刪除聯(lián)系人,查找聯(lián)系人等。2添加聯(lián)系人存儲(chǔ)時(shí),如果沒(méi)有添加姓名,就直接按了SELECT,那么界面將會(huì)顯示:姓名不能為空。3聯(lián)系人姓名、移動(dòng)電話(huà)、固定電話(huà)和電子郵件信息錄入完之后,單擊保存按紐,這就完成了聯(lián)系人的添加,界面并顯示:添加聯(lián)系人完成。概要介紹一下程序的具體功能四、工作計(jì)劃:時(shí)間完成內(nèi)容提交文檔備注第1天查找資料,確定題目,選擇方案課程設(shè)計(jì)任務(wù)書(shū)設(shè)計(jì)準(zhǔn)備階段第2天第3天題目分析,設(shè)計(jì)算法算法描述設(shè)計(jì)階段第4天功能模塊的劃分和設(shè)計(jì)結(jié)構(gòu)流程圖等第5天第6天實(shí)現(xiàn)具體數(shù)據(jù)結(jié)構(gòu)和模塊無(wú)第7天程序設(shè)計(jì)與調(diào)試無(wú)運(yùn)行并驗(yàn)證程序功能第8天第9天檢查程序第10天整理材料,撰寫(xiě)論文課程設(shè)計(jì)論文指導(dǎo)教師: 王艷濤 陳偉 高輝 教研室主任: 2008 年 12月31 日II 本科課程設(shè)計(jì)論文摘 要本文利用J2ME語(yǔ)言編程的思想來(lái)完成系統(tǒng)的設(shè)計(jì),進(jìn)行突出數(shù)據(jù)庫(kù)的特征,然后編寫(xiě)出程序設(shè)計(jì)代碼進(jìn)行界面設(shè)計(jì),實(shí)現(xiàn)友好的界面交互,具有清晰的程序流程圖,最后編程實(shí)現(xiàn)了全過(guò)程。關(guān)鍵詞:J2ME 面向?qū)ο?通訊錄7目 錄課程設(shè)計(jì)成績(jī)?cè)u(píng)定表II課程設(shè)計(jì)任務(wù)書(shū)III摘 要II目 錄III1 設(shè)計(jì)內(nèi)容12 設(shè)計(jì)過(guò)程12.1設(shè)計(jì)方案的論證12.2概要設(shè)計(jì)12.3界面設(shè)計(jì)圖22.4代碼實(shí)現(xiàn)63 設(shè)計(jì)總結(jié)6參考文獻(xiàn)7附錄:程序源代碼71 設(shè)計(jì)內(nèi)容個(gè)人通信錄是在移動(dòng)電話(huà)中常用的程序,它可以用來(lái)理解在持久存儲(chǔ)中進(jìn)行添加、查找和刪除的過(guò)程.它可以清楚地演示每個(gè)界面切換的過(guò)程,以及響應(yīng)用戶(hù)輸入命令的方法。介紹自己程序或系統(tǒng)的總體功能。2 設(shè)計(jì)過(guò)程2.1設(shè)計(jì)方案的論證Eclipse是當(dāng)今最流行的Java開(kāi)發(fā)IDE之一,它是一個(gè)開(kāi)發(fā)源代碼的、基于Java的可擴(kuò)展開(kāi)發(fā)平臺(tái),因?yàn)樗哂辛己玫目蓴U(kuò)展性。 它是一個(gè)開(kāi)發(fā)源代碼的、基于Java的可擴(kuò)展開(kāi)發(fā)平臺(tái),因?yàn)樗哂辛己玫目蓴U(kuò)展性.J2ME開(kāi)發(fā)可以繼承在Eclipse中完成,利用Eclipse界面友好的優(yōu)勢(shì),提高J2ME應(yīng)用程序的開(kāi)發(fā)效率。Eclipse框架的這種靈活性來(lái)源于其擴(kuò)展點(diǎn)。它們是在XML中定義的已知接口,并充當(dāng)插件的耦合點(diǎn)。擴(kuò)展點(diǎn)的范圍包括從用在常規(guī)表述過(guò)濾器中的簡(jiǎn)單字符串,到一個(gè)Java類(lèi)的描述。任何Eclipse插件定義的擴(kuò)展點(diǎn)都能夠被其它插件使用,反之,任何Eclipse插件也可以遵從其它插件定義的擴(kuò)展點(diǎn)。除了解由擴(kuò)展點(diǎn)定義的接口外,插件不知道它們通過(guò)擴(kuò)展點(diǎn)提供的服務(wù)將如何被使用。Eclipse的最大特點(diǎn)是它能接受由Java開(kāi)發(fā)者自己編寫(xiě)的開(kāi)放源代碼插件,這類(lèi)似于微軟公司的VisualStudio和Sun微系統(tǒng)公司的NetBeans平臺(tái)。Eclipse為工具開(kāi)發(fā)商提供了更好的靈活性,使他們能更好地控制自己的軟件技術(shù)。結(jié)合軟件工程課程所學(xué)知識(shí),用結(jié)構(gòu)化方法或面向?qū)ο蠓椒?,論述自己設(shè)計(jì)題目的需求分析結(jié)果。文字+一些必須的圖、表。2.2概要設(shè)計(jì)功能模塊的劃分與總體設(shè)計(jì),可以借助類(lèi)圖和模塊圖等來(lái)表示,如果使用數(shù)據(jù)庫(kù),還要有數(shù)據(jù)庫(kù)的概要設(shè)計(jì)介紹,可使用E-R圖等來(lái)表示。本程序共有8個(gè)java源文件:Address.java:該文件負(fù)責(zé)寫(xiě)入數(shù)據(jù)記錄集。.AddressbookMIDlet.java:該文件是MIDlet父類(lèi)。Data.java:該文件負(fù)責(zé)載入通訊錄的全部?jī)?nèi)容。FlashUI.java:該文件負(fù)責(zé)創(chuàng)建歡迎界面。ListUI.java:該文件負(fù)責(zé)創(chuàng)建通訊錄條目界面。MainUI.java:該文件負(fù)責(zé)創(chuàng)建主界面。NewUI.java:該文件負(fù)責(zé)創(chuàng)建添加聯(lián)系人界面。WaitUI.java:該文件負(fù)責(zé)創(chuàng)建提示界面。2.3界面設(shè)計(jì)圖介紹具體的各個(gè)界面的圖,并對(duì)相應(yīng)的圖做詳細(xì)的描述。經(jīng)過(guò)進(jìn)一步的分析設(shè)計(jì),得到系統(tǒng)的框圖如圖1所示。(1)初始化歡迎界面(如圖2所示)歡迎界面停止三秒后進(jìn)入主程序界面。初始?xì)g迎界面即閃屏顯示了程序初始的第一個(gè)屏幕,一般用于顯示版權(quán)信息.程序中使用FlashUI實(shí)現(xiàn)。(2)主界面(如圖3所示)進(jìn)入主程序界面后選擇主菜單里的選項(xiàng),它是由MainUI類(lèi)實(shí)現(xiàn),它包含了用戶(hù)可操作的基本功能,如添加聯(lián)系人,查看聯(lián)系人,刪除聯(lián)系人,查找聯(lián)系人。(3)添加聯(lián)系人初始狀態(tài)(如圖4所示)添加聯(lián)系人界面由NewUI類(lèi)實(shí)現(xiàn),它包含了聯(lián)系人信息的所有內(nèi)容,包括聯(lián)系人姓名、移動(dòng)電話(huà)、固定電話(huà)和電子郵件信息。要求用戶(hù)從鍵盤(pán)輸入。(4)添加聯(lián)系人輸入狀態(tài)(如圖5所示)添加聯(lián)系人的信息。進(jìn)行輸入。包括聯(lián)系人信息的所有內(nèi)容,包括聯(lián)系人姓名、移動(dòng)電話(huà)、固定電話(huà)和電子郵件信息。(5)添加聯(lián)系人存儲(chǔ)時(shí),姓名不能為空(如圖6所示)添加聯(lián)系人存儲(chǔ)時(shí),如果沒(méi)有添加姓名,就直接按了SELECT,那么界面將會(huì)顯示:姓名不能為空。(6)添加聯(lián)系人完成時(shí)提示界面(如圖7所示) 聯(lián)系人姓名、移動(dòng)電話(huà)、固定電話(huà)和電子郵件信息錄入完之后,單擊保存按紐,這就完成了聯(lián)系人的添加,界面并顯示:添加聯(lián)系人完成。(7)查看聯(lián)系人界面(如圖8所示)因?yàn)榇私缑媸且粋€(gè)List界面,所以在完成了聯(lián)系人的添加之后,彈出一個(gè)主菜單,上面分別顯示了:添加聯(lián)系人,查看聯(lián)系人,刪除聯(lián)系人,查找聯(lián)系人的信息。在List界面中,選中查看聯(lián)系人信息,按SELECT鍵進(jìn)入。(8)查看聯(lián)系人基本信息界面(如圖9所示) 選中了查看聯(lián)系人選項(xiàng)之后,彈出了所有的聯(lián)系人界面,例如:張三,李四,趙錢(qián)。選中聯(lián)系人張三。(9)查看聯(lián)系人界面(菜單)(如圖10所示)選中聯(lián)系人張三之后,按手機(jī)的菜單鍵,彈出了兩項(xiàng)菜單,分別是:詳細(xì)信息和退出選項(xiàng),選中詳細(xì)信息選項(xiàng),按SELECT按紐進(jìn)入。圖 1系統(tǒng)結(jié)構(gòu)框圖圖 2初始化歡迎界面圖 圖 3主界面圖圖 4添加聯(lián)系人初始狀態(tài) 圖5添加聯(lián)系人輸入狀態(tài)圖 6添加聯(lián)系人存儲(chǔ)時(shí)提示界面 圖 7 添加聯(lián)系人完成時(shí)提示界面圖8查看聯(lián)系人界面 圖 9查看聯(lián)系人基本信息界面(10)查看聯(lián)系人詳細(xì)信息界面(如圖11所示) 這樣就進(jìn)入了聯(lián)系人張三的詳細(xì)信息菜單,界面就顯示聯(lián)系人張三的詳細(xì)信息,包括聯(lián)系人張三的姓名、移動(dòng)電話(huà)、固定電話(huà)和電子郵件信息。圖 10查看聯(lián)系人界面 圖11查看聯(lián)系人詳細(xì)信息界面2.4代碼實(shí)現(xiàn)介紹程序的編碼實(shí)現(xiàn),如果程序代碼量不是很大,直接把代碼粘到這里,如果代碼量非常大(可以把代碼放到最后面),在這里可以粘一些主要核心功能代碼。還可以介紹一下,如何設(shè)計(jì)和測(cè)試的。經(jīng)過(guò)前面的工作,最后在集成編輯環(huán)境中,編寫(xiě)的程序代碼見(jiàn)附錄程序所示。3 設(shè)計(jì)總結(jié)結(jié)合程序最終運(yùn)行效果,總結(jié)一下,程序是否達(dá)到了預(yù)期目的,有哪些不足地方,還可以進(jìn)一步做哪些方面的改進(jìn)。結(jié)合自己兩周課程設(shè)計(jì)的過(guò)程,總結(jié)一下,自己有哪些收獲,哪些不足,今年怎樣去做。在本次編程過(guò)程中,使我收益非淺、收益良多,在同學(xué)的幫助下才能夠順利的編程工作才得以如期完成,我以后會(huì)好好學(xué)習(xí)的,讓今天所學(xué)的深深印在腦海中,會(huì)更加的使自己更完善的理解知識(shí),謝謝老師!參考文獻(xiàn)附自己課程設(shè)計(jì)參考的圖書(shū)、文章信息。1 崔忠折.金屬學(xué)及熱處理.機(jī)械工業(yè)出版社,1989:60-982 張安風(fēng),陸文華.高鑄鐵的氧化行為.金屬學(xué)報(bào).1993,29(6):263-2683 王穎.敦促新理論的研究.哈爾濱工業(yè)大學(xué)碩士論文.1992:8-134 J.R.McDnonell, D.Wagen.Evolving Recurrent Percepptions Time Modeling. IEEETrans.on Neural Netwoks.1994,5(1):24-38附錄:程序源代碼/Address.javaimport java.io.*;public class Address private String userName=;private String mobilePhone=;private String email=;private String phone=;public Address(String userName,String mobilePhone,String email,String phone)this.userName=userName;this.mobilePhone=mobilePhone;this.email=email;this.phone=phone;public String getEmail()return email;public void setEmail(String email)this.email=email;public String getMobilePhone()return mobilePhone;public void setMobilePhone(String mobilePhone)this.mobilePhone=mobilePhone;public String getPhone()return phone;public void setPhone(String phone)this.phone=phone;public String getUserName()return userName;public void setUserName(String userName)this.userName=userName;public static boolean matches(byte data1,String userName) throws IOExceptionByteArrayInputStream bais=new ByteArrayInputStream(data1);DataInputStream dis=new DataInputStream(bais);tryreturn(dis.readUTF().equals(userName);catch(IOException e)e.printStackTrace();return false;public byte serialize() ByteArrayOutputStream baos = new ByteArrayOutputStream(); DataOutputStream dos = new DataOutputStream(baos); try dos.writeUTF(userName); dos.writeUTF(mobilePhone); dos.writeUTF(phone); dos.writeUTF(email); /wsvPersonName.writeObject(dos); dos.flush(); baos.close(); dos.close(); catch(Exception exc) exc.printStackTrace(); return baos.toByteArray(); /AddressbookMIDlet.javaimport javax.microedition.midlet.*;import javax.microedition.lcdui.*;public class AddressBookMIDlet extends MIDlet implements CommandListener/public class UIArrangement Display dis;Alert alert;AddressBookMIDlet addressBookMIDlet;/Command exitCommand;/Command okCommand;WaitUI waitUI;MainUI mainUI;FlashUI flashUI;NewUI newUI;ListUI listUI;/FindUI findUI;/ConfirmUI confirmUI;Data data;/Command exitCommand;/Command mainCommand; public static final byte EVENT_NEW_ADDRESS=1;public static final byte EVENT_SAVE_ADDRESS=2;public static final byte EVTNE_DELETE_ADDRESS=3;public static final byte EVENT_FIND_ADDRESS=4;public static final byte EVENT_LIST_ADDRESS=5;public static final byte EVENT_NEW_BACK_MAINUI=6;public static final byte EVENT_LIST_BACK_MAINUI=7;public static final byte EVENT_FIND_BACK_MAINUI=8;public static final byte EVENT_CLEAR_ADDRESS_YES=9;public static final byte EVENT_CLEAR_ADDRESS_NO=10;public static final byte EVENT_DELETE_ADDRESS_YES=11;public static final byte EVENT_DELETE_ADDRESS_NO=12;public static final byte EVENT_DELETE_ADDRESS=13;public AddressBookMIDlet()String listtype=添加聯(lián)系人,查看聯(lián)系人,刪除聯(lián)系人,查找聯(lián)系人;/this.addressBookMIDlet=abm;dis=Display.getDisplay(this);/exitCommand=new Command(退出,Command.SCREEN,1);/okCommand=new Command(確定,Command.SCREEN,1);waitUI=new WaitUI();mainUI=new MainUI(listtype,this);flashUI=new FlashUI();newUI=new NewUI(this);listUI=new ListUI(this);data=new Data();/findUI=new FindUI(this);/contentUI=new ContentUI(this);/confirmUI=new ConfirmUI(dis,null,);/exitCommand=new Command(退出,Command.SCREEN,1);/mainUI.addCommand(exitCommand);/mainUI.addCommand(okCommand);/mainUI.setCommandListener(this);public void handleEvent(int event,Object obj)switch(event)case EVENT_NEW_ADDRESS:newUI.clear();dis.setCurrent(newUI);break;/*case EventType.EVENT_CLEAR_ADDRESS_YES:ata.clearAllrecord();dis.setCurrent(mainUI);catch(ApplicationException e)break;*/case EVENT_CLEAR_ADDRESS_NO:break; case EVENT_LIST_ADDRESS:waitUI.setMessage(正在獲取聯(lián)系人列表);dis.setCurrent(waitUI);/Index index=data.listRecord();/listUI.init(); String userN=aa,bb,cc; String u=;userN=data.getuserData();for(int i=0;iuserN.length;i+)u=userNi;listUI.append(u,null);/*/this.append(張三,null);dis.setCurrent(listUI);break;/*case EventType.EVENT_FIND_ADDRESS:findUI.init();dis.setCurrent(findUI);break;*/case EVENT_NEW_BACK_MAINUI:case EVENT_LIST_BACK_MAINUI:case EVENT_FIND_BACK_MAINUI:dis.setCurrent(mainUI);break;case EVENT_SAVE_ADDRESS:tryAddress address=(Address)obj;/*if(data.isRecordExist(address.getUserName()/(該聯(lián)系人已經(jīng)存在,mainUI,AlertType.WARNING);alert=new Alert(警告,聯(lián)系人已經(jīng)存在,null,AlertType.WARNING);addressBookMIDlet.dis.setCurrent(alert,addressBookMIDlet.dis.getCurrent();else*/data.addRecord(address);/showAlert(聯(lián)系人添加完成,mainUI,AlertType.CONFIRMATION);alert=new Alert(報(bào)告,聯(lián)系人添加完成,null,AlertType.WARNING);addressBookMIDlet.dis.setCurrent(alert,addressBookMIDlet.dis.getCurrent();catch(Exception e)break; /*case EventType.EVENT_DELETE_ADDRESS_NO:String userName=(String)obj;setMessage(確定要?jiǎng)h除+userName+么?);break;case EventType.EVENT_DELETE_ADDRESS_YES:tryString userName=(String)obj;data.deleteRecord(userName);catch(ApplicationException e)break;default:break;*/ public void commandAction(Command c,Displayable d) /if(c=exitCommand) / notifyDestroyed(); / / if(c=okCommand) / protected void destroyApp(boolean arg0) throws MIDletStateChangeException / TODO 自動(dòng)生成方法存根protected void pauseApp() / TODO 自動(dòng)生成方法存根protected void startApp() throws MIDletStateChangeException / TODO 自動(dòng)生成方法存根dis.setCurrent(flashUI);tryThread.sleep(3000);catch(InterruptedException e)dis.setCurrent(mainUI);/Data.javaimport java.io.*;import javax.microedition.lcdui.*;import javax.microedition.rms.*;public class Data static RecordStore addressRS=null;Address address;Alert alert;/RecordStore addressIndexRS=null;private static class AddressFilter implements RecordFilterString userName;public AddressFilter(String userName)this.userName=userName;public boolean matches(byte data)tryreturn Address.matches(data, userName);catch(IOException e)e.printStackTrace();return false;/*public static class IndexFilter implements RecordFilterString key;int type;public IndexFilter(String key)this.key=key;public IndexFilter(String key,int type)this.key=key;this.type=type;/*public boolean matches(byte data)try/return Index.matches(data,type);catch(IOException e)e.printStackTrace();return false;*/public Data()tryaddressRS=RecordStore.openRecordStore(myAddressBook, true);/addressIndexRS=RecordStore.openRecordStore(index, true);catch(RecordStoreException e)public void addRecord(Address address) throws Exception try byte data1=address.serialize(); int id=addressRS.addRecord(data1,0,data1.length); /Index index=new Index(address.getUserName(),id); /addIndex(index); catch(Exception Ee) /String userName;static byte byteComplexData=new byte1;public byte getRecordData()tryByteArrayInputStream complexStream=new ByteArrayInputStream(byteComplexData);DataInputStream complexDataStream=new DataInputStream(complexStream);for(int i=1;ibyteComplexData.length)byteComplexData=new byteaddressRS.getRecordSize(i);addressRS.getRecord(i,byteComplexData,0);/userName+=userName+n+complexDataStream.readUTF();complexStream.reset();complexStream.close();complexDataStream.close();/alert=new Alert(正在讀入記錄,userName,null,AlertType.WARNING);catch(Exception e)return byteComplexData;public static String userName=new String88;public static int j=0;static String u;public static void list(String sn)userNamej+=sn;/return userName;static byte byteComplexData1=new byte1;public static String getuserData()tryByteArrayInputStream complexStream=new ByteArrayInputStream(byteComplexData1);DataInputStream complexDataStream=new DataInputStream(complexStream);for(int i=1;ibyteComplexData.length)byteComplexData=new byteaddressRS.getRecordSize(i);addressRS.getRecord(i,byteComplexData,0);u=complexDataStream.readUTF();list(u);/complexStream.reset();/alert=new Alert(讀入記錄,u,null,AlertType.WARNING);complexStream.close();complexDataStream.close();/alert=new Alert(正在讀入記錄,userName,null,AlertType.WARNING);catch(Exception e)return userName;/*public void addIndex(Index index)trybyte index_data=index.serialize();if(rs_index.getNumRecords()0)RecordEnumeration records=addressIndexRS.enumerateRecords(new IndexFilter(index.getKey(),null,false);addressIndexRS.addRecord(index_data,0,index_data.length);catch(IOException e)public Index getIndex(String key)tryif(rs_index.getNumRecords()0)RecordEnumeration records=rs_index.enumerateRecords(new AddressFilter(key),null,false);index=Index.deserialize(rs_index.getRecord(records.nextRecordId();return index;catch(RecordStoreException e)public void deleteIndex(String key)tryRecordEnumeration records=rs_index.enumerateRecords(new IndexFilter(key),null,false);while(records.hasNextElement()rs_index.deleteRecord(records.nextRecordId();return;catch(RecordStroeException e)public boolean isRecordExist(String userName)tryif(rs_index.getNumRecords()0)RecordEnumeration records=rs_index.enumerateRecords(new IndexFilter(userName),null,false);if(records.numRecords()0)return true;else return false;catch(RecordStoreException e)e.printStackTrace();return true;*/ /* public void deleteRecord(String userName) try Index index=getIndex(userName); addressRS.deleteRecord(recordID); deleteIndex(userName); catch(RecordStoreException e)*/public void calearAllRecord()tryaddressRS.closeRecordStore();/addressRS_index.closeRecordStore();RecordStore.deleteRecordStore(myAddressBook);/RecordStore.deleteRecordStore(index);catch(RecordStoreException e)/*public Address getAddress(String userName)tryIndex index=getIndex(userName);Address address=null;if(index!=null)address=Address.deserialize(addressRS.getRecord(index.getRecordID();return;catch(RecordStoreException e)*/FlashUI.javaimport javax.microedition.lcdui.Canvas;import javax.microedition.lcdui.Graphics;import java.io.*;import javax.microedition.lcdui.*;public class FlashUI extends Canvas private int width;private int height;private Image image;public FlashUI()width=this.getWidth();height=this.getHeight();image=createImage(/res/Flash.png);public Image createImage(String name)Image image=null;tryimage=Image.createImage(name);catch(IOException e)return image;protected void paint(Graphics g) / TODO 自動(dòng)生成方法存根if(image!=null)g.drawImage(image,(width-image.getWidth()/2,(height-image.getHeight()/2,Graphics.TOP|Graphics.LEFT);/ListUI.javaimport javax.microedition.lcdui.*;public class ListUI extends List implements CommandListener AddressBookMIDlet addressBookMIDlet;/Data data=new Data();Alert alert;public static final Command backCommand=new Command(返回,Command.BACK,2);public static final Command infoCommand=new Command(詳情,Command.ITEM,1);public static final Command deleCommand=new Command(刪除,Command.OK,3);public ListUI(AddressBookMIDlet addressBookMIDlet)super(查看聯(lián)系人,List.IMPLICIT);this.addressBookMIDlet=addressBookMIDlet;this.addCommand(backCommand);this.addCommand(deleCommand);this.addCommand(infoCommand);this.setCommandListener(this);/data=new Data();/*public void init()trydeleteAll();for(int i=0;i=0,i-)delete(i);*/byte getRecordData11=data.getRecordData();/*String userName=;int n=getRecordData11.length;for(int i=0;in;i+)userName+=ream.readUTF();*/public void commandAction(Command c, Displayable d1) try/int n=data.addressRS.getNumRecords();int n=2;/ TODO 自動(dòng)生成方法存根if(c=backCommand)addressBookMIDlet.handleEvent(addressBookMIDlet.EVENT_LIST_BACK_MAINUI,null);else if(c=deleCommand)if(n=0)alert=new Alert(報(bào)告,無(wú)效操作,null,AlertType.WARNING);addressBookMIDlet.dis.setCurrent(alert);String record=getString(getSelectedIndex();int ind
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 火燒云作業(yè)設(shè)計(jì)
- 2025屆邢臺(tái)市南宮市數(shù)學(xué)三年級(jí)第一學(xué)期期末教學(xué)質(zhì)量檢測(cè)試題含解析
- 水利水電工程未來(lái)挑戰(zhàn)與機(jī)遇試題及答案
- 市政工程考試模擬題庫(kù)試題及答案
- 冷飲小商店課件
- 2025年工程項(xiàng)目管理的重要試題與答案
- 禁煙與安全教育主題班會(huì)
- 簡(jiǎn)述行政協(xié)議的概念與特征
- 2025年經(jīng)濟(jì)師考題分析中級(jí)經(jīng)濟(jì)師試題及答案
- 外派工作經(jīng)歷與能力鑒定證明(5篇)
- 高中職業(yè)生涯規(guī)劃講座
- 醫(yī)院建筑設(shè)計(jì)重點(diǎn)、難點(diǎn)分析及應(yīng)對(duì)措施
- 運(yùn)用精益管理(TPS)縮短醫(yī)院門(mén)診患者就診時(shí)間醫(yī)院品質(zhì)管理成果匯報(bào)
- 環(huán)保行業(yè)人才培養(yǎng)機(jī)制方案
- 專(zhuān)題18 熱學(xué)-五年(2020-2024)高考物理真題分類(lèi)匯編(解析版)
- 十二生肖調(diào)查報(bào)告
- 健身塑形瑜伽學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 2024-2025年遼寧省面試真題
- 2024年高考真題-地理(河北卷) 含答案
- 單位駕駛員勞務(wù)派遣投標(biāo)方案投標(biāo)文件(技術(shù)方案)
- 資本經(jīng)營(yíng)-終結(jié)性考試-國(guó)開(kāi)(SC)-參考資料
評(píng)論
0/150
提交評(píng)論