記憶測試系統(tǒng)(java)_第1頁
記憶測試系統(tǒng)(java)_第2頁
記憶測試系統(tǒng)(java)_第3頁
記憶測試系統(tǒng)(java)_第4頁
記憶測試系統(tǒng)(java)_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

專業(yè)計算機班級07級4班姓名設(shè)計起止日期2021.7.—設(shè)計題目:記憶測試系統(tǒng)設(shè)計任務(wù)〔主要技術(shù)參數(shù)〕:硬件環(huán)境:CPU:T64002.00GHz內(nèi)存:2G硬盤空間:250G軟件環(huán)境:〔1〕操作系統(tǒng):WindowsXP〔2〕開發(fā)軟件:JDK,JCreator實現(xiàn)功能:Java編寫的記憶測試系統(tǒng),通過回憶法測試記憶,分為初級、中級、高級三個級別,并通過記憶榜存儲每個級別的成績。指導(dǎo)教師評語:成績:簽字:年月日源代碼及辯論材料請聯(lián)系QQ:68661508記憶測試系統(tǒng)1.設(shè)計目的掌握J(rèn)ava的根本知識后,希望通過此次的課程設(shè)計來穩(wěn)固和提高Java編程技術(shù),從整體上了解使用Java語言在應(yīng)用系統(tǒng)開發(fā)和網(wǎng)絡(luò)開發(fā)中的技巧。進一步穩(wěn)固課堂上所學(xué)到的知識,深刻把握J(rèn)ava語言的重要概念及其面向?qū)ο蟮奶匦裕憻捵约菏炀毜膽?yīng)用面向?qū)ο蟮乃枷牒驮O(shè)計方法解決實際問題的能力,增進Java語言編輯根本功,掌握J(rèn)DK、JCreator等開發(fā)工具的運用,拓寬常用類庫的應(yīng)用,把所學(xué)課程及相關(guān)知識加以融會貫穿,全面掌握J(rèn)ava語言的編程思想及面向?qū)ο蟪绦蛟O(shè)計的方法,為今后從事實際工作打下堅實的根底。設(shè)計一個記憶測試系統(tǒng),通過回憶法測試記憶,分為初級、中級、高級三個級別,并通過記憶榜存儲每個級別的成績。2.設(shè)計方案論證系統(tǒng)主體局部是在底層容器上插入面板,并在面板上安排按鈕陣列,當(dāng)用戶點擊按鈕,經(jīng)過隨機安排在按鈕后面的圖片顯示出來。通過比照圖片下標(biāo),如何所顯示圖片和前一個顯示圖片一樣,那么沒變化;如果,不一樣,那么把以前所有顯示的圖片重新用按鈕遮蓋。當(dāng)用戶點開指定數(shù)量的圖片時,就進入記錄數(shù)據(jù)局部。在測試過程中,顯示用戶測試時間。記錄數(shù)據(jù)局部,要把用戶輸入的姓名和系統(tǒng)記錄用戶測試時間寫入指定文檔中保存。查閱數(shù)據(jù)局部,要把指定文檔的數(shù)據(jù)顯示給用戶,包括姓名和測試時間。用戶此時可以去除文檔中數(shù)據(jù),即可刪除排行榜。菜單欄包括“菜單〞和“幫助〞兩項。其中“菜單〞,又包括“初級〞、“中級〞、“高級〞、“初級排行榜〞、“中級排行榜〞、“高級排行榜〞,可以分別開始初級中級高級測試,還有翻開查看相應(yīng)級別排行榜對話框;“幫助〞,又包括“新手入門〞和“關(guān)于〞,分別顯示系統(tǒng)使用方式和作者信息。測試面板可以裝載按鈕陣列,用來顯示圖片,并且記錄統(tǒng)計圖片信息,當(dāng)相同圖片數(shù)量到達要求時,彈出記錄用戶信息對話框,記錄用戶信息。還有實時顯示所用時間和提示相應(yīng)級別測試信息。J單擊“記憶測試〞菜單可以選擇初級/中級/高級,也可以查看初級記憶榜/中級記憶榜或高級記憶榜。選擇級別后,將顯示相應(yīng)級別的測試區(qū)域。測試區(qū)域由假設(shè)干個方塊組成,每個方塊都有一個圖標(biāo),但該圖標(biāo)默認(rèn)情況下不可見。用鼠標(biāo)單擊測試區(qū)中的任何一個方塊,那么計時器開始啟動,同時該方塊上的圖標(biāo)將顯示出來。對于初級級別,用戶必須用鼠標(biāo)連續(xù)單擊出6個圖標(biāo)相同的方塊,也就是說,如果用戶已經(jīng)用鼠標(biāo)連續(xù)單擊出n〔n<6〕個圖標(biāo)相同的方塊,單擊另一個房塊時,如果該方塊的圖標(biāo)和上一個相同,那么該方塊的圖標(biāo)和前n次單擊出的方塊的圖標(biāo)仍然可見,否那么,前n次單擊出的方塊的圖標(biāo)都變?yōu)椴豢梢姟_B續(xù)單擊出該級別所要求的假設(shè)干個圖標(biāo)相同的方塊后,將顯示保存成績對話框,成績按所用時間排序。用戶可以通過該對話框選擇是否將自己的成績保存到成績表中。新用戶可以選擇菜單欄上“幫助〞|“新手入門〞,來學(xué)習(xí)如何使用本系統(tǒng)。以及“幫助〞|“關(guān)于〞來查看作者。2.5.1根據(jù)任務(wù)及要求,畫出數(shù)據(jù)流圖,描述系統(tǒng)功能。頂層數(shù)據(jù)流圖:圖-1頂層數(shù)據(jù)流圖2.5.2記憶測試系統(tǒng)功能級數(shù)據(jù)流圖:圖-2功能級數(shù)據(jù)流圖2.5.3根據(jù)數(shù)據(jù)流圖,分析系統(tǒng)的狀態(tài)轉(zhuǎn)換關(guān)系,畫出狀態(tài)轉(zhuǎn)換圖,分析軟件系統(tǒng)的行為模型。圖-3系統(tǒng)狀態(tài)轉(zhuǎn)換圖系統(tǒng)中游戲主窗口里要排列指定數(shù)量的按鈕陣列,并且通過隨機方法定義指定數(shù)量的圖片給每個按鈕。每點開一個按鈕就顯示對應(yīng)的圖片,并且比照圖片的下標(biāo)號,如果和上一個圖片的下標(biāo)號不同,那么恢復(fù)以前所有顯示的圖片為按鈕。統(tǒng)計相同圖片下標(biāo)的數(shù)量,到達指定數(shù)量時,執(zhí)行數(shù)據(jù)輸入存儲模塊。同時,要記錄用戶測試時間,如果用戶測試通過,傳給數(shù)據(jù)輸入存儲模塊進行存儲。主窗口安排指定數(shù)量按鈕,是通過用戶所選級別傳參數(shù)計算后進行安排。隨機分布圖片需要隨機函數(shù)隨機產(chǎn)生指定數(shù)量的圖片下標(biāo),并傳給主窗口的按對應(yīng)按鈕。通過比照所顯示圖片的下標(biāo),統(tǒng)計顯示的相同圖片的數(shù)量。用戶測試開始后,記錄測試時間,并保存。圖-4程序流程圖2.7類、方法及屬性主要包括15個類,他們分別是:MemoryTest類,裝載程序入口的主函數(shù)main;About類,封裝作者介紹對話框表-1About成員變量成員變量描述變量類型名稱顯示排行榜JButtonSHOW清空排行榜JButtonCLEAR裝載成績信息JTextAreajtaBack類,用來恢復(fù)原來已經(jīng)翻開的圖片,使圖片重新處于不可見狀態(tài);Block類,作為計時器,記錄用戶測試時間;Help類,封裝新手入門以及系統(tǒng)使用方法;JB類,設(shè)置圖片,調(diào)用Clock計時,統(tǒng)計相同數(shù)量圖片數(shù),調(diào)用姓名輸入類JDin;表-2JB成員變量成員變量描述變量類型名稱記錄相同圖片數(shù)Intcount新的圖片下標(biāo)Intcom記錄所用時間Inttime存放圖片下標(biāo)Intpsi存放圖片路徑Strings圖片變量ImageIconiconJDin類,姓名輸入對話框;JDout類,排行榜對話框,顯示用戶輸入的排行榜信息;JF類,最底層容器,用來承載JB和JP等,調(diào)用JDout等其他類;表-3JF的成員變量成員變量描述變量類型名稱菜單項選擇項JMenuBarjmb菜單JMenujm幫助JMenujm2初級JMIjmi1中級JMIJmi2高級JMIJmi3初級排行榜JMIJmi4中級排行榜JMIJmi5高級排行榜JMIJmi6新手入門JMIJmi7關(guān)于..JMIJmi8圖片陣列安裝板JPaneljpC兩個提示信息安裝板JPaneljpSJMI類,封裝了菜單,方便使用;JP類,游戲主窗體,安排承載按鈕和顯示圖片;JTFtime類,封裝了文本框,專門用來顯示時間;JTFtip類,封裝了文本框,用來顯示提示信息;Player類,封裝玩家信息;Random類,封裝了隨機方法,用來產(chǎn)生隨機圖片及隨機擺放圖片位置;3.設(shè)計結(jié)果與分析“菜單〞后如下列圖界面所示:圖-5程序主界面3.1.2在菜單里調(diào)整測試級別,按鈕陣列做相應(yīng)變化,當(dāng)高級時,運行結(jié)果如下:圖-6陣列變換為高級3.1.3查看幫助菜單中關(guān)于作者,可查看作者信息:圖-7幫組選項圖-8關(guān)于作者:圖-9新手入門3.1.5當(dāng)點出的圖片和上一個圖片不同時,以前的圖片都復(fù)原,當(dāng)點出的圖片都一樣時,會一直顯示:圖-10測試結(jié)束3.1.6當(dāng)出現(xiàn)相同圖片數(shù)量到達指定數(shù)時,要求用戶輸入姓名,用戶也可以選擇“取消〞:圖-11輸入測試那么信息3.1.7用戶輸入姓名后,連同成績一同計入文本中,可選擇菜單中“初級排行榜〞進行查看,此時用戶“清空排行榜〞:圖-12顯示排行榜應(yīng)該增加動態(tài)載入圖片功能,這樣玩家可以選擇自己喜歡的圖片進行測試。應(yīng)該增加提示功能,比方玩家點中提示按鈕后,所有圖片會短暫的顯示,幫助玩家進行記憶。在用戶開始游戲后,需要一個提示對話框提示用戶“準(zhǔn)備好了嗎?〞,只有用戶準(zhǔn)備好后,才開始游戲,并且開始計時;用戶在清空排行榜時,應(yīng)該有一個對話框向用戶確認(rèn)“您真的要刪除?〞后才可以清空排行榜,并且提供恢復(fù)數(shù)據(jù)機制;顯示排行榜時用戶可以選擇排列方式,比方“時間先后順序〞、“分值大小順序〞、“名字首字母順序〞等等。4.總結(jié)這個系統(tǒng)最難的一局部應(yīng)該說是隨機那一局部,先從多個圖片隨機找一局部圖片還是不難的,難的是還要隨機排列這些圖片,并且要程序記住這些圖片在什么地方。還有就是統(tǒng)計翻出的圖片是否和前一張一樣。本來這個單獨來說很容易,可是還要傳圖片下標(biāo)的參數(shù),隨機參數(shù),button下標(biāo)參數(shù),這么多攪在一起就很麻煩了。能分清不是很容易。還有就是把判斷完成指定數(shù)量相同圖片的任務(wù)放在什么地方。放在JF主面板中?還是放在JP游戲主窗口中?還是JB按鈕圖片中?經(jīng)過幾次的實驗,發(fā)現(xiàn)放在JB中比擬方便。當(dāng)然,通過這次課程設(shè)計,讓我學(xué)到了不少東西。首先就是對java的學(xué)習(xí)有了新的認(rèn)識,對面向?qū)ο蟮某绦蛟O(shè)計有了進一步的掌握。比方說系統(tǒng)中屢次用到JMenuItem這個類,為了方便就把它封裝到一個子類中,這樣也比擬好表示。在不知不覺中就學(xué)會了用面向?qū)ο蟮乃枷肴ニ伎紗栴},雖然是被動的,但是我覺得這也是進步,可能下次在需求分析時就能很快確定要封裝什么類。5.參考文獻丁振凡.Java語言實用教程.北京:北京郵電大學(xué),:75-93呂鳳翥.Java語言程序設(shè)計題解與上機指導(dǎo).北京:清華大學(xué)出版社,2007.1:204-221張海藩.軟件工程導(dǎo)論.北京:清華大學(xué)出版社:112-133[4]朱福喜,尹為民,余振坤.Java語言與面向?qū)ο蟪绦蛟O(shè)計[M].武漢:武漢大學(xué)出版社:67-128[5]陳國君,陳磊.Java2從入門到精通[M].北京:清華大學(xué)出版社:13-98[6]Horstmann,C.S,Cornell,G.JAVA2核心技術(shù)卷〔第7版〕:10-25[7]朱站立,沈偉.Java程序設(shè)計實用教程[M].北京:北京大學(xué)出版社l,1997,1253-60[8]張文靜,林琪等.JAVA解惑[M].北京:人民郵電出版社,2003.6:45-496.附錄importjava.awt.*;ent.*;importjavax.swing.*;importjava.util.LinkedList;importjava.io.*;classHelpextendsJDialogimplementsActionListener{ privateJButtonHbutton=newJButton("明白"); privateJTextAreaHlabel=newJTextArea(3,5); publicHelp(Framef){ super(f,"幫助提示",true); setSize(350,270); setResizable(false); setLocationRelativeTo(null); Hlabel.setText(""+"溫馨提示"+"\n"+ "請您在最短的時間內(nèi)翻開最多的相同圖片,選擇級別后,"+"\n"+ "將顯示相應(yīng)級別的測試區(qū)域。測試區(qū)域由假設(shè)干個方塊組成,"+"\n"+ "每個方塊都有一個圖標(biāo),但該圖標(biāo)默認(rèn)情況下不可見。用鼠"+"\n"+ "標(biāo)單擊測試區(qū)中的任何一個方塊,那么計時器開始啟動,同時"+"\n"+ "該方塊上的圖標(biāo)將顯示出來。對于初級級別,用戶必須用鼠標(biāo)"+"\n"+ "連續(xù)單擊出6個圖標(biāo)相同的方塊,也就是說,如果用戶已經(jīng)用"+"\n"+ "鼠標(biāo)連續(xù)單擊出n〔n<6〕個圖標(biāo)相同的方塊,單擊另一個房塊"+"\n"+ "時,如果該方塊的圖標(biāo)和上一個相同,那么該方塊的圖標(biāo)和前n"+"\n"+ "次單擊出的方塊的圖標(biāo)仍然可見,否那么,前n次單擊出的方塊的"+"\n"+ "圖標(biāo)都變?yōu)椴豢梢姟?); getContentPane().add(Hlabel,BorderLayout.CENTER); getContentPane().add(Hbutton,BorderLayout.SOUTH); Hbutton.addActionListener(this); setVisible(true); } publicvoidactionPerformed(ActionEvente){ dispose(); }}classAboutextendsJDialogimplementsActionListener{//...............關(guān)于作者 privateJLabelAlabel=newJLabel("楊一濤"+〞\n〞+〞單位:沈陽大學(xué)信息工程學(xué)院〞); privateJButtonAbutton=newJButton("確定"); publicAbout(Framef){ super(f,"關(guān)于作者",true); setSize(350,200); setResizable(false); setLocationRelativeTo(null); getContentPane().add(Alabel,BorderLayout.CENTER); getContentPane().add(Abutton,BorderLayout.SOUTH); Abutton.addActionListener(this); setVisible(true); } publicvoidactionPerformed(ActionEvente){ dispose(); } }classJDoutextendsJDialogimplementsActionListener{//.................排行榜 privateJButtonSHOW=newJButton("顯示排行榜"); privateJButtonCLEAR=newJButton("清空排行榜"); privatestaticJTextAreajta=newJTextArea(6,20); privatestaticStringfile; publicJDout(Framef,Strings){ super(f,"記憶測試排行榜:"+s,true); setLocationRelativeTo(null); file=s; setSize(350,200); setResizable(false); JPaneljdC=newJPanel(); JPaneljdS=newJPanel(); getContentPane().add(jdC,BorderLayout.CENTER); getContentPane().add(jdS,BorderLayout.SOUTH); jta.setText(null); jta.setEditable(false); JScrollPanejsp=newJScrollPane(jta); jdC.add(jsp); jsp.setVerticalScrollBarPolicy(jsp.VERTICAL_SCROLLBAR_ALWAYS); jdS.add(SHOW); jdS.add(CLEAR); SHOW.addActionListener(this); CLEAR.addActionListener(this); setVisible(true); } publicvoidactionPerformed(ActionEvente){ Objectobj=e.getSource(); if(obj==SHOW){ readObject(file); }else{ try{ FileOutputStreamout=newFileOutputStream(file); }catch(FileNotFoundExceptionevent){ } jta.setText(""); System.out.println(file); } } publicvoidreadObject(Stringfile){ try{jta.setText(null);ObjectInputStreamin=newObjectInputStream(newFileInputStream(file));LinkedListl=(LinkedList)in.readObject();in.close();for(inti=0;i<l.size();i++){PlayerPO=(Player)l.get(i);jta.append(PO.name+"成績:"+PO.score+"\n");}}catch(Exceptionee){} }}classPlayerimplementsSerializable{//.....................玩家數(shù)據(jù) Stringname; longscore;}classJDinextendsJDialogimplementsActionListener{//..................姓名輸入框 private JButtonSURE=newJButton("確定"); private JButtonCANCLE=newJButton("取消"); private JTextFieldjtf=newJTextField("匿名",10); privatestaticStrings; publicJDin(Framef,Strings){ super(f,"記錄你的成績到:"+s,true); setLocationRelativeTo(null); this.s=s; setSize(350,200); setResizable(false); setDefaultCloseOperation(this.DO_NOTHING_ON_CLOSE); getContentPane().setLayout(newGridLayout(2,1)); JPanelJPdown=newJPanel(); JPanelJPup=newJPanel(newGridLayout(1,1)); JPup.add(newLabel("請輸入你的姓名,將成績放到排行榜:"+s)); JPdown.add(jtf); JPdown.add(SURE); JPdown.add(CANCLE); getContentPane().add(JPup); getContentPane().add(JPdown); SURE.addActionListener(this); CANCLE.addActionListener(this); setVisible(true); } publicvoidactionPerformed(ActionEvente){ for(intj=0;j<JF.getLEVEL()*JF.getLEVEL();j++){ JP.jb[j].setEnabled(false); } Objectobj=e.getSource(); if(obj==SURE){ System.out.println(jtf.getText()+"成績:"+Clock.I); Playerplayer=newPlayer(); =jtf.getText(); player.score=Clock.I; writeObject(player,s); } this.dispose(); } publicvoidwriteObject(Playerp,Stringfile){ try{ ObjectInputStreamin=newObjectInputStream(newFileInputStream(file)); LinkedListl=(LinkedList)in.readObject(); for(inti=0;i<l.size();i++){ if(p.score<((Player)l.get(i)).score){ l.add(i,p); break; } if(i==l.size()-1){l.addLast(p);break;} } in.close(); ObjectOutputStreamout=newObjectOutputStream(newFileOutputStream(file)); out.writeObject(l); out.close(); }catch(Exceptione){ System.out.println(e); try{ LinkedListl=newLinkedList(); l.add(p); ObjectOutputStreamout=newObjectOutputStream(newFileOutputStream(file)); out.writeObject(l); out.close(); }catch(Exceptione2){System.out.println(e2); } } }}classClockextendsThread{//.........................計時器 staticintI=0;//............成績計數(shù)器inti=-1; publicvoidrun(){ while(JB.Count()<JF.getLEVEL()&&JF.STOP()){//........計時器是否停止 i++; JF.time.setText("你所用的時間是:"+i+"秒"); try{ Thread.sleep(1000); }catch(java.lang.InterruptedExceptione){ } System.out.println(i); } if(JB.Count()==JF.getLEVEL())I=i; }}classJTFtimeextendsJTextField{//....................時間文本框 publicJTFtime(Strings){ super(s,15); setEditable(false); }}classJTFtipextendsJTextField{//.....................提示文本框 publicJTFtip(Strings){ super(s); setEditable(false); setForeground(Color.black); }}classJBextendsJButtonimplementsActionListener{//..............圖片按鈕 privatestaticintcount; privatestaticintcom;//新的圖片下標(biāo) privatestaticinttime=0; finalintpsi; privateStrings; publicstaticintCount(){ returncount; } publicstaticvoidsetCount(inti){ count=i; } publicstaticvoidsettime(inti){ time=i; } publicstaticintgettime(){ returntime; } ImageIconicon; publicJB(inti){ psi=i;//圖片下標(biāo) s="image"+i+".jpg";//獲取圖片路徑 icon=newImageIcon(s); setDisabledIcon(icon);//顯示圖片 addActionListener(this); } publicvoidactionPerformed(ActionEvente){ this.setEnabled(false);//初始時狀態(tài) setIcon(icon); time++; if(time==1){ com=psi;//獲取當(dāng)前圖標(biāo)下標(biāo) JF.GO(true);//設(shè)置計時器啟動條件 ClockC=newClock();//計時器c newThread(C).start();//啟動計時器 } if(psi==com)count++;//統(tǒng)計相同圖片數(shù)量count else{ newThread(newback()).start(); try{//讓線程睡眠一會兒 Thread.sleep(5); }catch(java.lang.InterruptedExceptione1){ } count=1; setIcon(icon); com=psi;//獲取新的圖標(biāo)下標(biāo) } if(count==JF.getLEVEL()){ if(JF.getLEVEL()==2)s="初級排行榜.txt"; if(JF.getLEVEL()==7)s="中級排行榜.txt"; if(JF.getLEVEL()==8)s="高級排行榜.txt"; newJDin(null,s);//彈出姓名輸入窗口 count=0;//重置游戲設(shè)置 time=0;//重設(shè)時間啟動項 JF.time.setText("你所用的時間是:0秒");//時間歸0 } }}classrandom{//隨機分布圖標(biāo) publicint[]IR(inti){ int[]random=newint[i]; int[]array=newint[i*i]; //在10個中隨機選出i個 for(intj=0;j<i;j++){ random[j]=(int)(Math.random()*12+1); } for(intj=0;j<i*i;j++){//.....再次平均分組,共有i*i個 intp=(int)(Math.random()*i); array[j]=random[p]; } returnarray; }}classbackextendsThread{//.........復(fù)原已翻開的圖片 publicvoidrun(){ for(inti=0;i<JP.si;i++){//......JP游戲主菜單 JP.jb[i].setIcon(null);//........復(fù)原 JP.jb[i].setEnabled(true);//........重新設(shè)置為可操作 } }}classJPextendsJPanel{//...............游戲主窗體staticintsi;//................按鈕數(shù) privateintj=0; staticIcon[]ICON; privatestaticint[]jbI; staticJB[]jb; publicintgetjbI(inti){ returnjbI[i]; } publicintgetsi(){ returnsi; } publicJP(inti){ jbI=newint[10]; si=i*i; setLayout(newGridLayout(i,i)); randomr=newrandom(); jb=newJB[i*i]; int[]index=r.IR(i); for(;j<i*i;j++){ jb[j]=newJB(index[j]); add(jb[j]); } }}classJMIextendsJMenuItem{//.........菜單 publicJMI(Strings){ super(s); }}classJFextendsJFrameimplementsActionListener{//最底層容器 privateJMenuBarjmb=newJMenuBar(); privateJMenujm=newJMenu("菜單"); privateJMenujm2=newJMenu("幫助"); privateJMIjmi1=newJMI("初級"); privateJMIjmi2=newJMI("中級"); privateJMIjmi3=newJMI("高級"); privateJMIjmi4=newJMI("初級排行榜"); privateJMIjmi5=newJMI("中級排行榜"); privateJMIjmi6=newJMI("高級排行榜");privateJMIjmi7=newJMI("新手入門"); privateJMIjmi8=newJMI("關(guān)于.."); finalstaticJPaneljpC=newJPanel(newGridLayout(1,1));//圖片陣列安裝板 privateJPaneljpS=newJPanel(newGridLayout(2,1));//兩個提示信息安裝板 privateJPaneljpSup=newJPanel(); privateJPDjp=newJP(6); finalstaticJTFtimetime=newJTFtime("你所用的時間是:0秒"); privateJTFtiptip=newJTFtip("初級:你需要連續(xù)找出六個相同圖標(biāo)的方塊"); privatestaticintLEVEL=6;//初始狀況默認(rèn)為初級,即6 privatestaticbooleansel=true;//計時器是否停止 publicstaticbooleanSTOP(){ returnsel; } publicstaticvoidGO(booleanb){ sel=b; } publicstaticintgetLEVEL(){ returnLEVEL; } publicJF(inti,intj){ super("MenoryTest"); setSize(i,j); setResizable(false); setLocationRelativeTo(null);//中間位置 this.getContentPane().add(jpC,BorderLayout.CENTER);//......整體采用邊緣布局 this.getContentPane().add(jpS,BorderLayout.SOUTH); this.setJMenuBar(jmb); jmb.add(jm); jmb.add(jm2); jm2.add(jmi7); jm2.add(jmi8); jm.add(jmi1); jm.add(jmi2); jm.add(jmi3); jm.add(jmi4); jm.add(jmi5); jm.add(jmi6); jpC.add(Djp); jpS.add(jpSup); jpS.add(tip); jpSup.add(time); this.setDefaultCloseOperation(this.EXIT_ON_CLOSE); this.setVisible(true); jmi1.addActionListener(this); jmi2.addActionListener(this); jmi3.addActionListener(this); jmi4.addActionListener(this); jmi5.addActionListener(this); jmi6.addActionListener(this); jmi7.addActionListener(this); jmi8.addActionListener(this); } publicvoidactionPerformed(ActionEvente){ Objectobj=e.getSource(); if(obj==jmi1){ sel=false;//結(jié)束時間進程 JB.setCount(0); JB.settime(0);//重設(shè)時間啟動項 time.setText("你所用的時間是:0秒");//時間歸0 this.setSize(350,350); jpC.removeAll(); jpC.add(newJP(6)); LEVEL=2; tip.setText("初級:你需要連續(xù)找出六個相同圖標(biāo)的方塊"); } if(obj==jmi2){ sel=false;//結(jié)束時間進程 JB.setCount(0); JB.settime(0);//重設(shè)時間啟動項 time.setText("你所用的時間是:0秒");//時間歸0 this.setSize(350,350); jpC.removeAll(); jpC.add(newJP(7)); LEVEL=7; tip.setText("中級:你需要連續(xù)找出七個相同圖標(biāo)的方塊"); } if(obj==jmi3){ sel=false;//結(jié)束時間進程 JB.setCount(0); JB.settime(0);//重設(shè)時間啟動項 time.setText("你所用的時間是:0秒");//時間歸0 this.setSize(350,350); jpC.removeAll(); jpC.add(newJP(8)); LEVEL=8; tip.setText("高級:你需要連續(xù)找出八個相同圖標(biāo)的方塊"); } jpC.updateUI();//重啟圖片陣列界面 if(obj==jmi4){ newJDout(this,"初級排行榜.txt"); } if(obj==jmi5){ newJDout(this,"中級排行榜.txt"); } if(obj==jmi6){ newJDout(this,"高級排行榜.txt"); } if(obj==jmi7){ newHelp(this); } if(obj==jmi8){ newAbout(this); } }}//................main入口publicclassMemoryTest{ publicstaticvoidmain(String[]args){ newJF(350,350); }}HYPERLINK"://index.baidu/main/word.php?type=0&word=?%17Q?

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論