英文打字測(cè)試_第1頁(yè)
英文打字測(cè)試_第2頁(yè)
英文打字測(cè)試_第3頁(yè)
英文打字測(cè)試_第4頁(yè)
英文打字測(cè)試_第5頁(yè)
已閱讀5頁(yè),還剩22頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡(jiǎn)介

編號(hào)軟件工程與計(jì)算(1)課程設(shè)計(jì)題目英文打字測(cè)試系統(tǒng)二級(jí)學(xué)院專業(yè)班級(jí)學(xué)生姓名學(xué)號(hào)指導(dǎo)教師評(píng)閱教師時(shí)間2012/9/20重慶理工大學(xué) 英文打字測(cè)試系統(tǒng)PAGE26目錄摘要 21. 緒論 32. 項(xiàng)目背景 42.1. 發(fā)展史 42.2. 現(xiàn)狀 43. 系統(tǒng)概述 53.1. 系統(tǒng)基本要求和功能描述 53.2. 系統(tǒng)實(shí)現(xiàn)的內(nèi)容 53.3. 系統(tǒng)的編寫目的 54. 系統(tǒng)分析 54.1. 數(shù)據(jù)分析 54.2. 功能分析 64.3. 人員分析 65. 系統(tǒng)設(shè)計(jì) 65.1. 主界面設(shè)計(jì) 65.2. 功能按扭設(shè)計(jì) 85.3. 菜單欄設(shè)計(jì) 85.4. 系統(tǒng)流程圖 86. 系統(tǒng)主要代碼實(shí)現(xiàn) 96.1. 窗體的代碼實(shí)現(xiàn) 96.2. 各個(gè)功能鍵的實(shí)現(xiàn) 106.2.1 New功能 106.2.2 Stop功能 116.2.3 Help功能 136.2.4 Exit功能 137. 總結(jié) 14參考文獻(xiàn) 15摘要二十世紀(jì)后半期,計(jì)算機(jī)取得了飛速的發(fā)展?,F(xiàn)在,隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,計(jì)算機(jī)已經(jīng)成為人們生活中不可或缺的一部分。但是很多人對(duì)于計(jì)算機(jī)的操作能力及認(rèn)知極為匱乏,因此提高人們對(duì)計(jì)算機(jī)的了解以及操作能力已經(jīng)非常重要。而打字速度是用來(lái)衡量一個(gè)人操作熟練程度的一個(gè)重要方面。當(dāng)前打字軟件的市場(chǎng)已經(jīng)達(dá)到了一定的高度,本軟件設(shè)計(jì)開(kāi)發(fā)的方式是僅僅是簡(jiǎn)單的使用戶能夠測(cè)試自己的打字速度與正確率。本軟件使用的開(kāi)發(fā)工具是JAVA,它是當(dāng)前比較流行的開(kāi)發(fā)工具。在構(gòu)造圖形及其處理方面具有很強(qiáng)的優(yōu)勢(shì),能夠?yàn)橛脩魳?gòu)造一個(gè)比較美觀的打字測(cè)試界面,并且能夠很好的測(cè)試您的打字速度以及正確率,請(qǐng)用戶放心使用。關(guān)鍵詞:打字速度正確率熟練度JAVA緒論隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)技術(shù)日漸成熟,計(jì)算機(jī)已經(jīng)深入到人們工作和生活的每個(gè)個(gè)角落,對(duì)計(jì)算機(jī)操作的熟練已經(jīng)不可缺少。由于現(xiàn)在語(yǔ)音錄入技術(shù)的不成熟,絕大多數(shù)的計(jì)算機(jī)用戶依舊使用鍵盤來(lái)作為錄入工具,所以我編了這樣一個(gè)程序,希望能對(duì)計(jì)算機(jī)初學(xué)者和想提高打字速度的朋友們有所幫助。計(jì)算機(jī)是人類社會(huì)20世紀(jì)的重大科技成果之一。自1946年世界第一臺(tái)電子數(shù)字計(jì)算機(jī)誕生至今,在短短幾十年的時(shí)間里,計(jì)算機(jī)技術(shù)得到了飛速發(fā)展。目前計(jì)算機(jī)已廣泛應(yīng)用在工業(yè),農(nóng)業(yè),科技,國(guó)防,文教,衛(wèi)生,家庭生活等各個(gè)領(lǐng)域中,已成為現(xiàn)代人類生活不可缺少的工具之一。本系統(tǒng)構(gòu)建了英文打字練習(xí)系統(tǒng)。打字測(cè)試系統(tǒng)使用了java語(yǔ)言來(lái)設(shè)計(jì)系統(tǒng),Windows7開(kāi)發(fā)平臺(tái)。本系統(tǒng)是一個(gè)java構(gòu)造的系統(tǒng),充分利用java在GUI開(kāi)發(fā)組件方面的優(yōu)勢(shì)和模塊化設(shè)計(jì)思想,對(duì)打字練習(xí)系統(tǒng)界面進(jìn)行整體部署。完成打字練習(xí)軟件開(kāi)發(fā),培養(yǎng)學(xué)生的程序設(shè)計(jì)和開(kāi)發(fā)能力。計(jì)算機(jī)科學(xué)技術(shù)的發(fā)展不僅極大的促進(jìn)了整個(gè)科學(xué)技術(shù)的發(fā)展,而且明顯的加快了經(jīng)濟(jì)信息化和社會(huì)信息化的進(jìn)程。因此計(jì)算機(jī)教育在各國(guó)倍受重視,計(jì)算機(jī)知識(shí)與能力已經(jīng)成為21世紀(jì)人才素質(zhì)的基本要素之一。我國(guó)也非常重視計(jì)算機(jī)教育,國(guó)家已經(jīng)開(kāi)始在大中專學(xué)校及小學(xué)普及計(jì)算機(jī),計(jì)算機(jī)操作技能及操作水平的提高尤為重要。而打字速度是衡量一個(gè)人計(jì)算機(jī)水平的一個(gè)重要方面。現(xiàn)在各大中專學(xué)校都對(duì)在校大學(xué)生的打字速度進(jìn)行考核,使他們能夠滿足社會(huì)的需要。項(xiàng)目背景發(fā)展史金山打字2003

完全擺脫枯燥學(xué)習(xí)的速學(xué)打字軟件,循序漸進(jìn)突破盲打障礙,短時(shí)間運(yùn)指如飛;

新手上路即學(xué)即會(huì),拼音練習(xí)短期速成;

易錯(cuò)鍵常用詞重點(diǎn)練習(xí),糾正南方音模糊音;不背字根照學(xué)五筆,提供五筆反查工具;

配有數(shù)字鍵、同聲錄入等12項(xiàng)職業(yè)訓(xùn)練。金山打字通2006 更為合理的設(shè)計(jì)規(guī)劃,它在各個(gè)模塊中都有多項(xiàng)改進(jìn),目的讓用戶能在由淺入深出的練習(xí)中循序漸進(jìn)地提高。在英文打字的鍵位練習(xí)中,用戶可以選擇鍵位練習(xí)課程,分鍵位進(jìn)行練習(xí);而且增加了手指圖形,不但能提示每個(gè)字母在鍵盤的位置,更可以知道用哪個(gè)手指來(lái)敲擊當(dāng)前需要鍵入的字符。拼音打字從音節(jié)練習(xí)入手,用戶通過(guò)對(duì)方言模糊音、普通話異讀詞的練習(xí),可以糾正用戶在拼音輸入中遇到的錯(cuò)誤金山打字2006 加個(gè)性化的設(shè)計(jì)能真正滿足不同用戶的需要。該版本為您提供了機(jī)械、電子、醫(yī)學(xué)、經(jīng)貿(mào)、計(jì)算機(jī)、法律等十個(gè)專業(yè)的中英文詞匯和文章;您還可以將自己喜歡的文章或工作中經(jīng)常用到的內(nèi)容調(diào)入到相應(yīng)的測(cè)試模塊,進(jìn)行專門的練習(xí)。在打字游戲中,新添太空大戰(zhàn)游戲,增加角色扮演類的游戲——生死時(shí)速,支持網(wǎng)絡(luò)對(duì)決,更為引人入勝。支持多用戶管理,用戶登錄成功后,能查看個(gè)人的學(xué)習(xí)記錄;系統(tǒng)還能提出學(xué)習(xí)建議、跟蹤用戶打字速度增長(zhǎng)的整個(gè)過(guò)程?,F(xiàn)狀目前的打字系統(tǒng)大多數(shù)都是進(jìn)行單擊測(cè)試,測(cè)試時(shí)只能完全依靠自覺(jué),有的學(xué)生投機(jī)取巧,得到不真實(shí)的結(jié)果,這樣就不便于學(xué)校老師對(duì)學(xué)生打字結(jié)果的統(tǒng)計(jì),從而錯(cuò)誤的掌握學(xué)生對(duì)計(jì)算機(jī)的操作能力。另外目前市面上的打字軟件的界面越來(lái)越來(lái)美觀,功能日趨完善,操作也越來(lái)越方便,美中不足的是信息只能在本地存儲(chǔ),并且由老師來(lái)記錄學(xué)生的打字成績(jī),但是一旦出現(xiàn)一些問(wèn)題,比如電腦突然死機(jī),或者突然斷電,這都會(huì)導(dǎo)致學(xué)生或使用者打字成績(jī)的統(tǒng)計(jì)變得困難,會(huì)帶來(lái)很多不必要的麻煩。系統(tǒng)概述系統(tǒng)基本要求和功能描述使用Java語(yǔ)言編寫一款打字練習(xí)軟件,要求從指定文文件中顯示內(nèi)容,以供用戶進(jìn)行打字練習(xí),并且計(jì)算打字速度與正確率。系統(tǒng)實(shí)現(xiàn)的內(nèi)容用戶可以選擇自己想要進(jìn)行打字練習(xí)的英文文章,然后進(jìn)行打字練習(xí)。在軟件中使用了在開(kāi)始獲取一次時(shí)間,結(jié)尾獲取一次時(shí)間的方法,來(lái)計(jì)算用戶打字速度,另外還添加幫助菜單,幫助使用者更好的了解本系統(tǒng)的系列功能。系統(tǒng)的編寫目的為用戶提供一個(gè)簡(jiǎn)易的打字練習(xí)平臺(tái)。通過(guò)這樣的打字練習(xí)達(dá)到更高效、快速的打字目的。使使用者更好地熟悉鍵盤以及各個(gè)英文字母,學(xué)會(huì)熟練的使用計(jì)算機(jī)鍵盤,進(jìn)而更好的使用計(jì)算機(jī)來(lái)進(jìn)行一系列操作,。系統(tǒng)分析數(shù)據(jù)分析系統(tǒng)的數(shù)據(jù)主要是從指定文件中選取文檔供使用者實(shí)現(xiàn)打字練習(xí)的范文。此過(guò)程中使用了ReadFileUsingJFileChooser函數(shù)和setText來(lái)選定文文件以及顯示在面板上。打字練習(xí)的原文可以從系統(tǒng)提供的目錄下選取或者用戶自己選擇指定文章來(lái)進(jìn)行打字練習(xí)功能分析在功能方面,實(shí)現(xiàn)了用戶自主選擇文文件進(jìn)行打字練習(xí)。然后進(jìn)入打字階段,對(duì)用戶打字的速度以及正確率進(jìn)行計(jì)評(píng)估。在界面的構(gòu)造上,使用了不同的布局,使界面變得更加美觀,更加貼近用戶的使用習(xí)慣人員分析此系統(tǒng)操作簡(jiǎn)單,使用人員無(wú)需具有專業(yè)的計(jì)算機(jī)操作基礎(chǔ),因此對(duì)現(xiàn)有工作人員來(lái)說(shuō)應(yīng)用此系統(tǒng)是不成問(wèn)題的。可行性分析基于JAVA語(yǔ)言開(kāi)發(fā)本系統(tǒng),使用其GUI組件來(lái)構(gòu)造界面,并實(shí)現(xiàn)相應(yīng)功能,對(duì)于現(xiàn)在其發(fā)展程度來(lái)說(shuō)比較簡(jiǎn)單。系統(tǒng)設(shè)計(jì)主界面設(shè)計(jì)在該界面中,添加了多個(gè)JPanel面板,把整個(gè)layoutp面板分為左右兩部分,再把左邊分為bp和lp上下兩部分,在bp上添加四個(gè)按鈕與一個(gè)卷標(biāo),在lp上添加了兩個(gè)JLabel標(biāo)簽;用upp與down把右邊分為上下兩部分,在upp與down兩個(gè)面板上都添加了JTextArea文本域用以顯示文文件和打字練習(xí)。同時(shí),使用了ImageIcon與Color類對(duì)面板的顏色、背景進(jìn)行了修改。還使用JMenu、JMenuBar、JMenuItem添加了菜單欄,使界面更加美觀,得到主界面如圖5-1:圖5-1主界面具體如表5-1。內(nèi)容JPanellayoutplayoutliftuppdownlpbpJTextAreajtreadtstjtinputjtHelpJMenuFileMenuHelpMenuJMenuItemnewItemstopItemexitItemhelpItem表5-1主界面設(shè)計(jì)功能按扭設(shè)計(jì) 運(yùn)用Jbutton與ImageIcon、JLabel來(lái)實(shí)現(xiàn)按鈕的制作,實(shí)現(xiàn)了“New”、“Stop”、“Help”3個(gè)按鈕,以及一個(gè)插入圖片的卷標(biāo),單擊按鈕將會(huì)實(shí)現(xiàn)相應(yīng)的功能。得到了下面的界面(如圖5-2):圖5-2功能按鈕菜單欄設(shè)計(jì)使用JMenu、JMenuBar、JMenuItem組件構(gòu)造了菜單欄,并在File下添加了三個(gè)菜單按鈕(New、Stop、Exit),在Help下添加了Help菜單按鈕得到界面如下(圖5-3,5-4): 圖5-3File菜單 圖5-4Help菜單系統(tǒng)流程圖運(yùn)行運(yùn)行選擇文本顯示打字內(nèi)容并輸入計(jì)算并得出成績(jī)圖5-4系統(tǒng)流程圖系統(tǒng)主要代碼實(shí)現(xiàn)窗體的代碼實(shí)現(xiàn)整體框架構(gòu)造在mian函數(shù)中用構(gòu)造,界面的主要布局為:實(shí)現(xiàn)了兩個(gè)JTextArea,運(yùn)用布局管理器(BorderLayout、GridLayout)對(duì)界面進(jìn)行了合理的安排。對(duì)界面進(jìn)行布局的主要代碼如下://添加菜單欄JMenuBarbar=newJMenuBar();setJMenuBar(bar);FileMenu.add(newItem);add(FileMenu);bar.add(FileMenu);//面板操作JPanellayoutp=newJPanel(newGridLayout(2,1));*把右邊面板分為上下兩個(gè)面板*/JPanelupp=newJPanel();JPaneldown=newJPanel();layoutp.add(upp);layoutp.add(down);JPanellayoutlift=newJPanel(newGridLayout(2,1));//把左邊的面板分為上下兩部分JPanelbp=newJPanel(newGridLayout(6,1,10,5));//在把左邊上面的面板分為5行1列JPanellp=newJPanel(newGridLayout());//把左邊下面的面板分為2行1列add(layoutlift,BorderLayout.WEST);add(layoutp);/*顯示打字內(nèi)容面板*/upp.add(jtreadtst);/*輸入面板*/down.add(jtinput);各個(gè)功能鍵的實(shí)現(xiàn) New功能該按鈕用以用戶選擇文本進(jìn)行打字練習(xí),并且開(kāi)始計(jì)算用戶打字所用時(shí)間,為New按鈕注冊(cè)一個(gè)事件監(jiān)聽(tīng)器,然后在ButtonListener中實(shí)現(xiàn)了點(diǎn)擊該按鈕將會(huì)系統(tǒng)做出的反應(yīng),具體代碼實(shí)現(xiàn)如下:ReadFileUsingJFileChooserrea=newReadFileUsingJFileChooser();jtreadtst.setText(rea.read());//讀取指定檔的內(nèi)容time1=System.currentTimeMillis();//獲取開(kāi)始的時(shí)間并保存以上代碼實(shí)現(xiàn)了選取文本進(jìn)行打字練習(xí)的操作,其中ReadFileUsingJFileChooser這個(gè)類的代碼如下:JFileChooserfileChooser=newJFileChooser();If (fileChooser.showOpenDialog(null)==JFileChooser.APPROVE_OPTION){//Gettheselectedfilejava.io.Filefile=fileChooser.getSelectedFile();//CreateaScannerforthefileScannerinput=newScanner(file);//Readtextfromthefilewhile(input.hasNext()){s=input.nextLine();}input.close();}else{System.out.println("Nofileselected");}單擊該按鈕后出現(xiàn)的界面如下(如圖6-2):圖6-2選擇文本Stop功能該按鈕用以結(jié)束打字,檢索用戶輸入的字符與原文字符的匹配率,并且顯示結(jié)果(速度、正確率) 注冊(cè)一個(gè)監(jiān)聽(tīng)器jbtStopListener,并在類ButtonListener中對(duì)該按鈕的操作進(jìn)行了具體的實(shí)現(xiàn),使用了setText()對(duì)文本域進(jìn)行刷新操作,使用戶再次使用時(shí)可以直接打開(kāi)文檔進(jìn)行打字練習(xí),代碼如下:practisep=newpractise(); jtinputget=jtinput.getText();//將輸入的內(nèi)容保存到j(luò)tinputget這個(gè)字符串中time2=System.currentTimeMillis();//獲取結(jié)束時(shí)的時(shí)間p.result();jtreadtst.setText("");jtinput.setText("");}其中practise類實(shí)現(xiàn)了表示用戶打字速度與正確率的模塊,代碼如下:classpractise{/*計(jì)算打字速度與正確率*/publicvoidresult(){*計(jì)算正確率*/intwrong=0;inti=0;floattheRate=0;s1=s.toCharArray();s2=jtinputget.toCharArray();if(s2.length<=s1.length){for(;i<s2.length-1;i++){if(s2[i]!=s1[i]){wrong++;//統(tǒng)計(jì)不相同的個(gè)數(shù)continue;}}while(i!=s1.length){wrong++;i++;}NumberFormatnumberFormat=NumberFormat.getPercentInstance(Locale.US);numberFormat.setMinimumFractionDigits(2);time3=time2-time1;time=time3/1000%60;doublewrongRate=1.0*wrong/s1.length;speed=(int)jtinputget.length()/time;JOptionPane.showMessageDialog(null,"TotalWordsare:"+s1.length+"\nYoutotalinput:"+s2.length+"\nThewrongRateis"+numberFormat.format(wrongRate)+"\nYourspeedis"+speed+"字/秒");}}}運(yùn)行結(jié)果得到界面如圖6-3所示:圖6-3顯示結(jié)果Help功能注冊(cè)了jbtHelpListener這個(gè)監(jiān)聽(tīng)器,并在類classButtonListener中對(duì)該按鈕的操作進(jìn)行了具體的實(shí)現(xiàn),代碼如下:help.showHelp();jbtHelp.setEnabled(false);其中Help類是重新構(gòu)造的一個(gè)JFrame類型的框架,用以顯示Help中的內(nèi)容,并將其設(shè)置為不可更改,具體代碼如下: JFramejf=newJFrame();JLabeljtHelpImage=newJLabel(imageHelpBackground);jf.setIconImage(imahelp);jf.add(jtHelpImage);其界面如下所示(如圖6-4):圖6-4Help界面Exit功能用來(lái)退出該程序,并在單價(jià)該按鈕之后彈出一個(gè)確認(rèn)的對(duì)話框來(lái)詢問(wèn)用戶時(shí)候確定退出,具體代碼實(shí)現(xiàn)如下:if(JOptionPane.showConfirmDialog(null,"是否退出?")==JOptionPane.OK_OPTION){System.exit(0);}界面如下圖(如圖6-5):圖6-5退出窗口總結(jié) 經(jīng)過(guò)了一段時(shí)間的開(kāi)發(fā)和設(shè)計(jì),打字系統(tǒng)基本完成,其功能基本滿足本系統(tǒng)的需求,覆蓋了對(duì)JAVA中GUI組件的一些組件操作,本系統(tǒng)的實(shí)現(xiàn)了選擇文本進(jìn)行打字練習(xí)、顯示用戶打字速度以及正確率等功能,構(gòu)造了一個(gè)比較美觀的界面來(lái)進(jìn)行打字練習(xí)。在打字程序這個(gè)領(lǐng)域,經(jīng)歷了幾十年的發(fā)展,至今已經(jīng)達(dá)到了一個(gè)很高的水平,其應(yīng)用也在不斷的壯大和擴(kuò)展。隨著編程語(yǔ)言與計(jì)算機(jī)技術(shù)的發(fā)展,本系統(tǒng)將會(huì)變得更加完善。由于本人才開(kāi)始涉及java圖形化界面,因此只使用了一些簡(jiǎn)單的構(gòu)造圖形的知識(shí)來(lái)設(shè)計(jì)本軟件。在創(chuàng)建系統(tǒng)時(shí)也遇到一些困難,是經(jīng)過(guò)很多次調(diào)試才編寫成功,因此在設(shè)計(jì)過(guò)程中可能有不足之處還有待進(jìn)一步完善,請(qǐng)老師和同學(xué)們體諒并提出寶貴意見(jiàn)。通過(guò)編寫本程序,使我更加熟練的掌握的JAVA中對(duì)GUI組件的一些基本操作,明白了JAVA語(yǔ)言博大精深,還有一段很長(zhǎng)的學(xué)習(xí)之路要走。參考文獻(xiàn)(美)Java語(yǔ)言程序設(shè)計(jì)基礎(chǔ)篇(原書第八版).機(jī)械工業(yè)出版社.2010.朱站立.數(shù)據(jù)結(jié)構(gòu)——Java語(yǔ)言描述.清華大學(xué)出版社.2005.

附上源代碼:package英文打字測(cè)試;importjava.util.Locale;importjava.util.Scanner;importjava.util.logging.Level;importjava.util.logging.Logger;importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;importjava.text.*;publicfinalclassWordsPracticeextendsJFrame{/** * */ privatestaticfinallongserialVersionUID=1L; //定義按鈕 privateJButtonjbtNew=newJButton("New"); privateJButtonjbtExit=newJButton("Exit"); privateJButtonjbtStop=newJButton("Stop"); privateJButtonjbtHelp=newJButton("Help");//定義圖片路徑ImageIconimageLogo=newImageIcon("images/05.jpg"); privatestaticImageIconimageTitle=newImageIcon("D:/Workspaces/MyEclipse9/課程設(shè)計(jì)/src/images/03.jpg"); privatestaticImageima=imageTitle.getImage();JTextAreajtreadtst=newJTextArea(10,38);JTextAreajtinput=newJTextArea(10,38);Stringjtinputget; //定義菜單欄privateJMenuFileMenu=newJMenu("File");privateJMenuHelpMenu=newJMenu("Help");privateJMenuItemnewItem=newJMenuItem("New");privateJMenuItemstopItem=newJMenuItem("Stop");privateJMenuItemexitItem=newJMenuItem("Exit");privateJMenuItemhelpItem=newJMenuItem("Help");ReadFileUsingJFileChooserrea=newReadFileUsingJFileChooser(); practisep=newpractise(); Helphelp=newHelp();publicWordsPractice(){setFrame();//構(gòu)造窗口、主界面regeditListener();//注冊(cè)監(jiān)聽(tīng)器}publicvoidsetFrame(){ //添加菜單欄JMenuBarbar=newJMenuBar();setJMenuBar(bar);//File菜單FileMenu.add(newItem);FileMenu.add(stopItem);FileMenu.add(exitItem);add(FileMenu);bar.add(FileMenu);//幫助菜單HelpMenu.add(helpItem);add(HelpMenu);bar.add(HelpMenu);JPanelpanel=newJPanel(newBorderLayout());//構(gòu)造主面板//把右邊面板分為兩行一列JPanellayoutp=newJPanel(newGridLayout(2,1));JPanelupp=newJPanel();JPaneldown=newJPanel();layoutp.add(upp);layoutp.add(down);//設(shè)置右邊兩塊面板的顏色upp.setBackground(Color.WHITE);down.setBackground(Color.WHITE);//把左邊面板分為上下兩部分JPanellayoutlift=newJPanel(newGridLayout(2,1));//把左上面板分為6行1列,水平距離為10,垂直艱間距為5JPanelbp=newJPanel(newGridLayout(6,1,10,5));JPanellp=newJPanel(newGridLayout());layoutlift.add(bp);layoutlift.add(lp);//添加一個(gè)標(biāo)簽,并在里面添加一張圖片JLabeljl1=newJLabel(newImageIcon("D:/Workspaces/MyEclipse9/課程設(shè)計(jì)/src/images/10.jpg"));JLabeljlbimage=newJLabel(imageLogo);JLabeljl2=newJLabel("EnglishSpeedTest");bp.add(jlbimage);bp.add(jbtNew);bp.add(jbtStop);bp.add(jbtHelp);bp.add(jbtExit);jbtNew.setBackground(Color.WHITE);jbtStop.setBackground(Color.WHITE);jbtHelp.setBackground(Color.WHITE);jbtExit.setBackground(Color.WHITE);bp.add(jl2);lp.add(jl1);setVisible(true);//setSize(400,300);//設(shè)置右邊上面顯示文檔的文本域jtreadtst.setLineWrap(true);jtreadtst.setWrapStyleWord(true);jtreadtst.setEditable(false);jtreadtst.setSize(625,250);jtreadtst.setForeground(Color.RED);jtreadtst.setFont(newFont("Courier",Font.BOLD,20));jtreadtst.setBackground(Color.WHITE);upp.add(jtreadtst);//設(shè)置右邊下面出入文檔的文本域down.add(jtinput);jtinput.setLineWrap(true);jtinput.setWrapStyleWord(true);jtinput.setSize(300,250);jtinput.setForeground(Color.WHITE);jtinput.setFont(newFont("Courier",Font.BOLD,20));jtinput.setBackground(Color.darkGray);jbtStop.setEnabled(false);//添加左右兩塊面板到主界面panel.add(layoutlift,BorderLayout.WEST);panel.add(layoutp);add(panel);}//注冊(cè)監(jiān)聽(tīng)器publicvoidregeditListener(){ButtonListenerlistener=newButtonListener();jbtNew.addActionListener(listener);jbtStop.addActionListener(listener);jbtHelp.addActionListener(listener);jbtExit.addActionListener(listener);newItem.addActionListener(listener);stopItem.addActionListener(listener);exitItem.addActionListener(listener);helpItem.addActionListener(listener);}//實(shí)現(xiàn)監(jiān)聽(tīng)器類classButtonListenerimplementsActionListener{publicvoidactionPerformed(ActionEvente){if(e.getSource()==jbtNew||e.getSource()==newItem){try{jtreadtst.setText(rea.read());p.time1=System.currentTimeMillis();jbtStop.setEnabled(true);}catch(Exceptionex){Logger.getLogger(WordsPractice.class.getName()).log(Level.SEVERE,null,ex);}}elseif(e.getSource()==jbtStop||e.getSource()==stopItem){jtinputget=jtinput.getText();p.time2=System.currentTimeMillis();p.result();jtreadtst.setText("");jtinput.setText("");jbtHelp.setEnabled(true);}elseif(e.getSource()==jbtHelp||e.getSource()==helpItem){help.showHelp();jbtHelp.setEnabled(false);}elseif(e.getSource()==jbtExit||e.getSource()==exitItem){if(JOptionPane.showConfirmDialog(null,"是否退出?")==JOptionPane.OK_OPTION){System.exit(0);}}}}//從指定中選取文檔classReadFileUsingJFileChooser{Strings; publicStringread()throwsException{JFileChooserfileChooser=newJFileChooser();if(fileChooser.showOpenDialog(null)==JFileChooser.APPROVE_OPTION){//Gettheselectedfilejava.io.Filefile=fileChooser.getSelectedFile();//CreateaScannerforthefileScannerinput=newScanner(file);//Readtextfromthefilewhile(input.hasNext()){s=input.nextLine();}input.close();}else{System.out.println("Nofileselected");}returns;}}//計(jì)算結(jié)果classpractise{doublespeed;longtime=0;longtime1=0;longtime2=0;longtime3=0;char[]s1; char[]s2;publicvoidresult(){intwrong=0;inti=0;doubletheRate=0;s1=rea.s.toCharArray();s2=jtinputget.toCharArray();if(s2.length<=s1.length){for(;i<s2.length-1;i++){if(s2[i]!=s1[i]){wrong++;continue;}}while(i!=s1.length){wrong++;i++;}time3=time2-time1;time=time3/1000%60;theRate=1.0*wrong/s1.length;NumberFormatnumberFormat=NumberFormat.getPercentInstance(Locale.US);numberFormat.setMinimumFractionDigits(2);Numbe

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論