JAVA小應用程序Applet設計(計算器)實驗報告(附代碼)_第1頁
JAVA小應用程序Applet設計(計算器)實驗報告(附代碼)_第2頁
JAVA小應用程序Applet設計(計算器)實驗報告(附代碼)_第3頁
JAVA小應用程序Applet設計(計算器)實驗報告(附代碼)_第4頁
JAVA小應用程序Applet設計(計算器)實驗報告(附代碼)_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

小應用程序Applet設計一、課題內容和要求內容:設計和編寫一個可以用鼠標操作的Applet小應用程序和相應的HTML頁面,觀察Applet的執(zhí)行過程,測試程序鼠標用戶交互操作的效果。要求:要求學生能在學習和理解課堂學習內容中JAVA小應用程序的根底上,通過實驗,培養(yǎng)學生將JAVA小應用程序相關知識點〔包括JAVAApplet和低級事件處理模型〕有機結合,設計基于WEB瀏覽器的小應用程序的能力。二、設計思路分析classApw個JavaApple計算器的主類publicvoidinit()完成初始化appletpublicbooleanaction(詼現事件處理的方法publicvoiddoOperator()運算及運算結果輸出操作publicvoiddoForeScreen微字和小數點輸出到文本框操作publicvoiddoClear(X青空操作三、概要設計publicclassAppextendsApplet{TextFieldtfAnswer;Buttonb0,b1,b2,b3,b4,b5,b6,b7,b8,b9;ButtonbPoint,bEqual,bPlus,bMinus,bClear,bMulti,bDivision;StringOperatorCurrent,OperatorPre;StringForeScreen,BackScreen;booleanisFloat=false;

publicvoidinit();publicbooleanaction(Evente,Objecto);publicvoiddoOperator()publicvoiddoForeScreen(Strings);publicvoiddoClear();事件處理:hCitarj清除技軌走肝清除操作lr((e.tiir^et=hMuhl)|| =h i*,tarnrf『hPM。IhGtar^er=lAlirim)g劇Ld=bEquM))加減期蟠于按鈕獲取運算操作符并進i;運算操作卜") 沒有幣源輸入數字/作為上?道值新輸人奴字算符一項證硒入隹續(xù)的同考算存進行■■運算提作M1也fag==bg||hCitarj清除技軌走肝清除操作lr((e.tiir^et=hMuhl)|| =h i*,tarnrf『hPM。IhGtar^er=lAlirim)g劇Ld=bEquM))加減期蟠于按鈕獲取運算操作符并進i;運算操作卜") 沒有幣源輸入數字/作為上?道值新輸人奴字算符一項證硒入隹續(xù)的同考算存進行■■運算提作if"上的啡以=bP曲n。&&if"上的啡以=bP曲n。&&:Fi)rcScrx^n.eiMit漸儀”/'W保正屈數不含小費點的情況下張瓶小數點力在控制臺和文本相?出If!=iMMnh裁取數字桌來有崎A數懶佩IfiFortScreenJtquste(',1T)桌來有崎A數懶佩運算及運算結果輸出if(OperttotPre,M|ual5(,m))上一運算符沒杓則直接啕出else上…運算符存在則運算后輸圉 SZ BaekScrwn■ForeStrven;FureScreen-n,1:dAnswur.sctItBackSereun):Repaint0;冬力人的數掂轉入EhskS4mti并清空,用HuckScrMn輸出它SZdFort=(notPoubIc(FnreScr^enIlkatue():dBack=(newDouble<BickScrt*?n))Lduul>LeValih*Q^KorcScreen=***;Bnck'icrren=rfA^wer,2iirTev?0:運算結果轉入BMkScr"D井清空.BackScrccn輸出它,再對各運算符作運算操作四、詳細設計Java代碼:importjava.awt.*;importjava.applet.*;publicclassAppextendsApplet{TextFieldtfAnswer;//定義變量Buttonb0,b1,b2,b3,b4,b5,b6,b7,b8,b9;ButtonbPoint,bEqual,bPlus,bMinus,bClear,bMulti,bDivision;StringOperatorCurrent,OperatorPre;StringForeScreen,BackScreen;booleanisFloat=false;publicvoidinit(){//初始化OperatorCurrent=newString("");OperatorPre=newString("");ForeScreen=newString("0");//保證輸入字符串不為空防止計算錯誤BackScreen=newString("");setBackground(Color.gray);setLayout(null);//設為空布局便于自定義組件位置tfAnswer=newTextField();//設置文本框樣式tfAnswer.setBounds(20,20,175,40);tfAnswer.setFont(newFont(BackScreen,Font.BOLD,28));add(tfAnswer);tfAnswer.setText(ForeScreen);bClear=newButton("C");//設置按鈕樣式bClear.setBounds(20,70,40,40);add(bClear);bDivision=newButton("/");bDivision.setBackground(Color.green);bDivision.setBounds(65,70,40,40);add(bDivision);bMulti=newButton("*");bMulti.setBackground(Color.green);bMulti.setBounds(110,70,40,40);add(bMulti);bMinus=newButton("-");bMinus.setBackground(Color.green);bMinus.setBounds(155,70,40,40);add(bMinus);b7=newButton("7");b7.setBounds(20,115,40,40);b7.setBackground(Color.orange);add(b7);b8=newButton("8");b8.setBackground(Color.orange);b8.setBounds(65,115,40,40);add(b8);b9=newButton("9");b9.setBackground(Color.orange);b9.setBounds(110,115,40,40);add(b9);bPlus=newButton("+");bPlus.setBackground(Color.green);bPlus.setBounds(155,115,40,85);add(bPlus);b4=newButton("4");b4.setBackground(Color.orange);b4.setBounds(20,160,40,40);add(b4);b5=newButton("5");b5.setBackground(Color.orange);b5.setBounds(65,160,40,40);add(b5);b6=newButton("6");b6.setBackground(Color.orange);b6.setBounds(110,160,40,40);add(b6);b1=newButton("1");b1.setBackground(Color.orange);b1.setBounds(20,205,40,40);add(b1);b2=newButton("2");b2.setBackground(Color.orange);b2.setBounds(65,205,40,40);add(b2);b3=newButton("3");b3.setBackground(Color.orange);b3.setBounds(110,205,40,40);add(b3);bEqual=newButton("=");bEqual.setBackground(Color.green);bEqual.setBounds(155,205,40,85);add(bEqual);b0=newButton("0");b0.setBackground(Color.orange);b0.setBounds(20,250,85,40);add(b0);bPoint=newButton(".");bPoint.setBackground(Color.orange);bPoint.setBounds(110,250,40,40);add(bPoint);}publicbooleanaction(Evente,Objecto){//實現事件處理的方法Strings=newString("");if((e.target==b0)||(e.target==b1)||(e.target==b2)||(e.target==b3)||(e.target==b4)||(e.target==b5)||(e.target==b6)||(e.target==b7)||(e.target==b8)||(e.target==b9)){//獲取數字按鈕數據并在控制臺和文本框輸出if(e.target!=bPoint){//獲取數字s=(String)o;doForeScreen(s);}}if((e.target==bPoint)&&!ForeScreen.contains(".")){//保證原數不含小數點的情況下獲取小數點并在控制臺和文本框輸出s=(String)o;if(ForeScreen.equals(""))//原來沒有輸入數據那么用0.{doForeScreen("0.");}else//原來有輸入數據那么用.{doForeScreen(s);}}if(e.target==bClear){//去除按鈕進展去除操作doClear();}if((e.target==bMulti)||(e.target==bDivision)||(e.target==bPlus)||(e.target==bMinus)||(e.target==bEqual)){//加減乘除等于按鈕獲取運算操作符并進展運算操作if(ForeScreen!=""){//重新輸入數字進展運算操作OperatorCurrent=((String)o);doOperator();}else{//沒有重新輸入數字那么作為上一運算符--->保證不輸入連續(xù)的同一運算符OperatorPre=((String)o);}}returntrue;}publicvoiddoOperator(){//運算及運算結果輸出操作doubledFore,dBack;Doubled;if(OperatorPre.equals("")){//上一運算符沒有那么直接輸出BackScreen=ForeScreen;//輸入的數據轉入后臺并清空,用后臺輸出它ForeScreen="";tfAnswer.setText(BackScreen);repaint();}else{//上一運算符存在那么運算后輸出dFore=(newDouble(ForeScreen)).doubleValue();dBack=(newDouble(BackScreen)).doubleValue();ForeScreen="";//運算結果轉入后臺并清空,用后臺輸出它BackScreen=tfAnswer.getText();if(OperatorPre.equals("+")){d=newDouble((dBack+dFore));BackScreen=d.toString();}if(OperatorPre.equals("-")){d=newDouble((dBack-dFore));BackScreen=d.toString();}if(OperatorPre.equals("*")){d=newDouble((dBack*dFore));BackScreen=d.toString();}if(OperatorPre.equals("/")){d=newDouble((dBack/dFore));BackScreen=d.toString();}tfAnswer.setText(BackScreen);repaint();}OperatorPre=OperatorCurrent;//現運算符變上一運算符repaint();}publicvoiddoForeScreen(Strings){//數字和小數點輸出到文本框操作ForeScreen+=s;if(ForeScreen.length()>1&&ForeScreen.startsWith("0")&&!ForeScreen.contains("."))//以0開頭的長度大于一的非小數去掉開頭的0ForeScreen=ForeScreen.substring(1);tfAnswer.setText(ForeScreen);repaint();}publicvoiddoClear(){//清空操作OperatorCurrent="";OperatorPre="";ForeScreen="0";B

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論