




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
Java2實用教程課后習題參考答案第1章Java入門答:(1)編寫Java源文件:使用文本編輯器(Edit或記事本),拓展名為.java (2)編譯Java源文件:使用Java編譯器(javac.exe)。得到字節(jié)碼文件*.class (3)運行Java程序:Java應用程序使用Java解釋器(java.exe)執(zhí)行字節(jié)碼文件;public主類必須用public修飾。②應用程序可以沒有public類;小應用程序一定有一個類是public類(主類)。用程序:如果只有一個類,源文件名與該類的類名相同,拓展名為.java;有多個類時,如果有public類(最多一個),源文件名與public類的類javapublic,源文件名與任何一個類的類名類的類名相同,拓展名是.java。小程序的HTML文件中可以使用codebase屬性指定小程序的字節(jié)碼所駐留的目錄。如果不使用codebase碼文件必須和運行它的HTML文件在同一目錄中。編寫一個小程序并將小程序的字節(jié)碼存放在某個目錄中,比如C:\5000;把運行該小程序的HTML文件(注意其中的codebase屬性):appletcode序的字節(jié)碼width=200height=300codebase=C:\5000>Java用程序源代碼licclassBoyextendsApplet{publicvoidpaint(Graphicsg){ColorColorredgdrawString邊學Java呢",5,30);ColorColorbluegdrawString,10,50);}}代碼命名為Boy.java并進行編譯得到Boy.class字節(jié)碼文件;將得到的字節(jié)碼文件存放在che車資料庫——學習資源共享專家③編寫小應用程序的HTML源文件:appletcodeBoyclasswdithheightcodebaseC:\5000></applet>編寫好的代碼命名為Boy.html;并將此文件存放在C:\5000文件夾以外的任意一個文件夾中(如C:\1000);Boyhtml第2章標識符、關鍵字和數(shù)據(jù)類型美元符號和數(shù)字組成,并且第一個字符不能是數(shù)字字符,而且關鍵字不能作為標alassbreakpublicreturnstaticextends4.下列哪些語句是錯誤的:byteb=127;bx;bx是高級別的變量賦值給低級別的變量時,一定要用顯式轉換即b=(byte)x;。{publicstaticvoidmainStringargs[]){ongalongb00};System.out.println("數(shù)組b的長度:"+b.length);System.out.println("b[0]="+b[0]);}}b{publicstaticvoidmainStringargs[]){forintii322;i++){temoutprintlnchariche車資料庫——學習資源共享專家}}}佝佞佟你佡達ntSystemoutprintlnicclassOutputData{publicstaticvoidmainStringargs[]){intx=234,y=432;Systemoutprintlnx*x));Systemoutprint我輸出結果后不回車");Systemoutprintln我輸出結果后自動回車到下一行");Systemoutprintlnxy"+(x+y));Systemoutprintlnxy"=234432");}}xy62答:icclassXLWords{publicstaticvoidmainStringargs[]){forintiii+){System.out.print((char)i+"");}forintjjj+){System.out.print((char)j+"");}forintkkk){System.out.print((char)k+"");}forintttt++){che車資料庫——學習資源共享專家System.out.print((char)t+"");}}}第3章運算符、表達式和語句{publicstaticvoidmainStringargs[]){charxyez='吃';{}System.out.println(""+x+y+z);}}ublicclassE{publicstaticvoidmainStringargs[]){forintiii++){{bmoutprintcmoutprintckmoutprintcstemoutprint}}}}答:{publicstaticvoidmainStringargs[]){forintiii){rintjjij}System.out.println("1到10的階乘之和是:"+sum);}}答:{publicstaticvoidmainStringargs[]){forintiii+){intjjij{w=i%j;k}Systemoutprintlni數(shù)");}}}r}}}答:{publicstaticvoidmainStringargs[]){forintiii){rintjjij}System.out.println("1到10的階乘之和是:"+sum);}}答:{publicstaticvoidmainStringargs[]){forintiii+){intjjij{w=i%j;k}Systemoutprintlni數(shù)");}}}rixi{}Systemoutprintlnx數(shù)");}}}whilefor10項之和。r{publicstaticvoidmainStringargs[]){forintiii){a}outprintlnsum}}②while循環(huán){publicstaticvoidmainStringargs[]){while(++i<=10){a}outprintlnsum}}用程序,輸出滿足1+2+3+…+n<8888的最大正整數(shù)n。答:{publicstaticvoidmainStringargs[]){while(sum+=k)<8888)k--;Systemoutprintln取到:"+k);}}第4章類、對象和接口或者是參數(shù)的類型不同(方法的重載體現(xiàn)了多態(tài)性,即功能多態(tài)性)。作實例變量包中時,子類可以繼承父類的protected方法;而友好方法此時則不能被子staticstatic修飾。{}{{b/合法}}{}{publicvoidfunc{Ax10;//非法Ay20;//合法}}變量和方法?子類在什么情況下隱藏父類的成員變量和方法?在子類中是dsA包中時,子類可以繼承父類的除private屬性的所有方法和成員變量,當子類與變量和父類中的成員變量同名時,子類就隱藏了繼承的成員變量;子類中定義一個的名字、返回類型、參數(shù)個數(shù)和類型與從父類繼承的方法完全相同,子類就隱藏從父類繼承來的方法(方法的重寫)。BA接子類,當用子類B創(chuàng)建一個對象b并把這個對象的引用放到A類的對象a中icclassTakecare{tbfpublicstaticvoidmainStringargs[]){ystemoutprintlncc}}floatcab原因是類方法main操作了實例變量a。{publicintfintx){turnx}}{{publicintfintx){urnxx}}{publicstaticvoidmainStringargs[]){Aa=newB();fmoutprintlnm}}0{publicvoidsetXintx){}{turnx}}{publicvoidf(Aa){asetX);}}publicstaticvoidmainStringargs[]){Aa=newA();tXSystemoutprintlnagetXBbnewB();bfa;SystemoutprintlnagetX}}implements關鍵字,當一個類使用多個接口時,接口名要用逗號“,”隔abstract的所有方法,并且實現(xiàn)接口的方法時,方法名字、返回的完全一致;類在實現(xiàn)接口時,方法體一定要用public修飾,如voidreturn句。interface表面積{lAreadoubler}{ludoubler}classSphimplements表面積,體積{doublePIpublicdoubleallAreadoubler){eturnPIrr}publicdoublevoludoubler){returnPI*r*r*r;}}licclassTest{publicstaticvoidmainStringargs[]){leranewSphSystemoutprintln為5的球的表面積是:"+a.allArea(r));Systemoutprintln5的球的體積是:"+a.volu(r));}}fBBAf,子類創(chuàng)建的對象不僅可以調用方法f輸出英文字母表,而{oidf{rmmmSystem.out.print((char)m+"");ormmmSystem.out.print((char)m+"");System.out.println("");}}dsA{oidg{foriiiSystem.out.print((char)i+"");foriiiSystem.out.print((char)i+"");foriiiSystem.out.print((char)i+"");foriiiSystem.out.print((char)i+"");System.out.println("");}}licclassTest{publicstaticvoidmainStringargs[]){BbnewB();System.out.println("我調用方法f輸出英文字母表:");bf);System.out.println("我調用方法g輸出希臘字母表:");bg);}}MyExceptionStudent有一個產(chǎn)生異常的方法publicvoidsMyExceptionmMyExceptionmainStudentspeak方法。xceptionextendsException{ngstrMyExceptionintm){strm值大于1000";}publicvoidshowStr{moutprintlnstr}}{publicvoidspeakintmthrowsMyException{{MyExceptionexceptionnewMyException(m);n}outprintlnm}}licclassTest{publicstaticvoidmainStringagrs[]){dentstunewStudentm87;{m234;}hMyExceptione{}}}publicintfintaintb),該方法返回a和b的最大公約數(shù)。然后再法f,而且重寫的方法將返回a和b的最小公倍數(shù)。要求在重寫隱藏的方法返回a和b的最大公約數(shù)m,然后將乘積(a*b)/m返回。要求類創(chuàng)建對象,并分別調用方法f計算兩個正整數(shù)的最大公約數(shù){publicintfinta,intb){{mp}while(r!=0){}urnb}}dsA{publicintfinta,intb){msuper.f(a,b);return(a*b)/m;}}licclassTest{publicstaticvoidmainStringargs[]){Aa=newA();Systemoutprintln18和102的最大公約數(shù)是:"+a.f(18,102));BbnewB();Systemoutprintln18和102的最小公倍數(shù)是:"+b.f(18,102));}}第5章字符串StringpublicStringtoUpperCase小寫字母變成大寫字母,publicStringtoLowerCase字符串中的大寫字母變成小寫字母。編寫一個程。{publicstaticvoidmainStringargs[]){tringstrIcanuseJavaSystemoutprintln的字符串是:"+str);ngsstrtoUpperCaseSystemoutprintln大寫字符串是:"+s);Systemoutprintln小寫字符串是:"+s);}}StringpublicStringconcat(Stringstr)方法可以把調用該方法的字符串與參數(shù)指定的字str一個新的串。編寫一個程序通過連接兩個串得到{publicstaticvoidmainStringargs[]){tringstrIcanuringstrseJavaringsstrconcatstrSystemoutprintln符串"+str1+"與字符串"+str2+"連接后得到的新字符串是:");outprintlns}}iccharcharAtintindexindex說ublicclassE{publicstaticvoidmainStringargs[]){Strings技術大學";charascharAtbscharAtmoutprintamoutprintlnb}}4.使用java.util包中的Arrays類的靜態(tài)方法publicstaticvoidsort(doublea[])可以把參數(shù)a指doublejavautil包中的Arrays類的靜態(tài)方法publicstaticvoidsortdoubleaintstartintend可以把參數(shù)a指定的double型數(shù)組中從位置start到end-1位ublicclassE{publicstaticvoidmainStringargs[]){tadoubleb0.87,34,678.987,-98.78,0.89};Arrays.sort(a);Arrays.sort(b,1,4);forintiii++){Systemoutprintai;}orintiiblengthi{Systemoutprintbi;}}}67,89,90,12.89,34.0,90.87,678.987,-98.78,0.89,javalangSystem類的靜態(tài)方法arraycopy可以實現(xiàn)數(shù)組的快速復制,上機實習下列程cclassArrayCopy{publicstaticvoidmainStringargs[]){charaab'c','d','e','f'},b1[]={'1','2','3','4','5','6'};Systemarraycopy(a1,0,b1,1,a1.length-1);System.out.println(newString(a1));System.out.println(newString(b1));bytea97,98,99,100,101,102},b2[]={65,67,68,69,70,71};Systemarraycopyb,a2,3,b2.length-3);System.out.println(newString(a2));System.out.println(newString(b2));}}CDEFGarraycopy是publicstaticvoidarraycopy(Objectsrc,intsrcPos,Objectdest,intsdestestPos第6章時間、日期和數(shù)字avautil{publicstaticvoidmainStringargs[]){Date=newDate();SimpleDateFormatsnewSimpleDateFormat("EHH時mm分ss秒");Systemoutprintlnsformat));}}avautil{publicstaticvoidmainStringargs[]){alendarfebCalendargetInstanceebsettdatfebgetCalendarDAYOFWEEKtringanewStringdatallDayrintiidati{a[i]="";}forintidatnidatallDayi+){a[i]=String.valueOf(n)+"";a[i]=String.valueOf(n)+"";}Systemoutprintln"+year+"年"+month+"月");orintjjalengthj{{System.out.println("");}emoutprintaj}}}某月、某日和某年、某月、某日之間的天數(shù)間隔。要求年、月、日通過main方法的參數(shù)傳avautil{publicstaticvoidmainStringargs[]){alendarcCalendargetInstanceetMillisetMillisongdayCoustimetimeSystemoutprintln2008年8月8日和2000年1月1日相隔"+dayCous+"天");}}avatextlicclassTest{publicstaticvoidmainStringargs[]){doubleaMathabs;System.out.println("-10的絕對值是:"+a);doublemaxNumMathmax4321);Systemoutprintln"123.456與-5.4321中的最大值是:"+maxNum);doubleminNumMathmin4321);Systemoutprintln"123.456與-5.4321中的最小值是:"+minNum);ntMathrandomSystemoutprintln一個1到10的隨機數(shù)是:"+randomNum);epowNumMathpowSystemoutprintln("2的10次冪是:"+powNum);esqrtNumMathsqrtSystemoutprintln("10的平方根是:"+sqrtNum);elogNumMathlogSystemoutprintln"2的對數(shù)是:"+logNum);doublesinNumMathsin;Systemoutprintln"-10的正弦值是:"+sinNum);oubleasinNumMathasinSystemoutprintln"0.5的反正弦值是:"+asinNum);Systemoutprintln之前的數(shù)是:"+sqrtNum);NumberFormatf=NumberFormat.getInstance();mumFractionDigitsmumIntegerDigitsngsfformatsqrtNumSystemoutprintln后:"+s);}}igIntegeravamathlicclassTest{publicstaticvoidmainStringargs[]){BigIntegersumnewBigInteger"0"),igIntegerNEnewBigIntegerwhile(++k<=30){ggmultiplyigmultiplyi}outprintlnsum}}第7章AWT組件及事件處理答:①Frame類對象的默認布局是BorderLayout布局;用程序,有一個標題為“計算的窗口”的窗口,窗口的布局為FlowLayout布局。窗口中添加兩個數(shù)時,另一個文本區(qū),同時對輸入的數(shù)進行求和運算并avaawtlatedextendsFrameimplementsTextListener{TextAreatext1,text2;//定義了2個文本區(qū)CalculatedStrings/標題為“計算的窗口”的窗口{tLayoutnewFlowLayoutFlowLayoutwTextAreawTextAreatttextsetEditablefalse結果和平均值的文本區(qū)禁止編輯ListenerthisowListenernewWindowAdapter{publicvoidwindowClosing(WindowEvente){emexit}}Boundsate}publicvoidtextValueChanged(TextEvente){ingstextgetTextngTokenizergeshunewStringTokenizersanewdoublenrintiini{gtempgeshunextTokeneDoubleparseDoubletemp}averagerintiini{}sumntnulltextappendsum\n"+"平均數(shù):"+average);}}licclassTest{publicstaticvoidmainStringargs[]){CalculatedcalcnewCalculated("計算的窗口");}}getSelectedText方法獲取該文本區(qū)通過拖動鼠標選中的文件。編寫應用程序,有一為BorderLayout布局。窗口中添加兩個文本去和一個按鈕組avaawtwSelectedTextextendsFrameimplementsActionListener{TextAreatext1,text2;//定義2個文本區(qū)Buttonbutton//定義一個按鈕WindowSelectedText(Strings)//窗口名字為“挑單詞”{setLayoutnewBorderLayout//窗口布局是BorderLayout布局wTextAreawTextAreabuttonnewButton"確定");xtBorderLayoutEASTxtBorderLayoutWESTttonBorderLayoutSOUTHuttonaddActionListenerthisowListenernewWindowAdapter{publicvoidwindowClosing(WindowEvente){emexit}}tablefalseBoundsate}publicvoidactionPerformed(ActionEvente){{StringstextgetSelectedTextn;ingstrtextgetTextxtstrs}}}licclassTest{publicstaticvoidmainStringargs[]){newWindowSelectedText挑單詞");}}FlowLayout。設計4個按鈕,“除”,另外,窗口中還有3個文本框。單擊相應的按鈕,將兩個框中顯示結果。要求處理NumberFormatException。avaawtlatedextendsFrameimplementsActionListener{TextFieldtext1,text2,text3;//3個文本框ButtonbuttonH,buttonC,buttonJ,buttonS;//4個按鈕Calculated(Strings){setLayoutnewFlowLayout//FlowLayout布局extFieldextFieldextFieldnHnewnCnewnJnewnSnewdtextdtexttButton("加");Button("差");Button("積");Button("除");tablefalseonHonConJonSuttonHaddActionListenerthisuttonCaddActionListenerthisuttonJaddActionListenerthisuttonSaddActionListenerthisowListenernewWindowAdapter{publicvoidwindowClosing(WindowEvente){emexit}}Boundsate}publicvoidactionPerformed(ActionEvente){blenumnumtotle{numDoubleparseDoubletextgetText());numDoubleparseDoubletextgetText());{mtTexttotle}etSourcebuttonC{tTexttotle}etSourcebuttonJ{mtTexttotle}etSourcebuttonS{mtTexttotle}}rFormatExceptionevent{textsetText符!");}}}licclassTest{publicstaticvoidmainStringargs[]){CalculatedcalcnewCalculated("計算");//標題為“計算”的窗口}}ilEmailEmailavaxswingwBoxextendsFrameimplementsActionListener{TextFieldtexttexttext;tAreatextareaBoxbaseBoxboxV,boxV2;uttonbuttonWindowBox){buttonnewButton"確定");anewTextAreaextFieldextFieldextFieldboxVBoxcreateVerticalBox;boxVaddnewLabel""));boxVaddBoxcreateVerticalStrut8));boxVaddnewLabel"email"));boxVaddBoxcreateVerticalStrut8));boxVaddnewLabel("職業(yè)"));boxVBoxcreateVerticalBox;boxVaddtext;boxVaddBoxcreateVerticalStrut8));boxVaddtext;boxVaddBoxcreateVerticalStrut8));boxVaddtext;baseBoxBoxcreateHorizontalBox();baseBoxaddboxVbaseBoxaddBoxcreateHorizontalStrut(10));baseBoxaddboxVwLayoutBoxonareaowListenernewWindowAdapter{publicvoidwindowClosing(WindowEvente){emexit}}EditablefalseuttonaddActionListenerthisBoundsate}publicvoidactionPerformed(ActionEvente){booleana;Strings;{a=s.endsWith(".");bsindexOf");{StringstrtextgetTextn"+text2.getText()+"\n"+text3.getText()+"\n";ingstrtextareagetTextsetTextstrstr}{textsetTextE-mail地址");}}}}licclassTest{publicstaticvoidmainStringargs[]){indowBox}}應用程序,要求編寫一個Panel的子類MyPanel,MyPanel中有一個文本框和一個按鈕,要求vent并將該文本作為按鈕的名稱。然后在編寫一個Frame的子類,即窗口。窗口的布局為BorderLayout布MyPanelavaawtelextendsPanelimplementsActionListener{mextFieldtextuttonbuttonMyPanel){xtFieldbuttonnewButton"確定");onuttonaddActionListenerthisowListenernewWindowAdapter{publicvoidwindowClosing(WindowEvente){emexit}}}publicvoidactionPerformed(ActionEvente){{ametextgetTextbuttonsetLabelname}}}eextendsFrame{MyPanelpanel1,panel2;MyFrame){anelnewMyPanelanelnewMyPanelnelBorderLayoutEASTnelBorderLayoutWESTBoundsate}}licclassTest{publicstaticvoidmainStringargs[]){MyFramewin=newMyFrame();}}18編寫一個應用程序,要求有一個畫布,在畫布上繪制一個矩形,用戶通過文本框輸入矩。avaawtasextendsCanvas{Mycanvas){lorcyan}publicvoidsetXintx){}publicvoidsetY(inty){}blicvoidsetWintw{}publicvoidsetHinth){}publicvoidpaint(Graphicsg){ectxywh}}wCanvasextendsFrameimplementsActionListener{Mycanvascanvas;TextFieldtexttexttext,text4;uttonbuttonWindowCanvas{ycanvasxtFieldxtFieldxtFieldxtFieldPanelpNorthnewPanel,pSouth=newPanel();buttonnewButton"確定");uttonaddActionListenerthispNorth.add(newLabel("矩形的寬:"));NorthaddtextpNorth.add(newLabel("矩形的高:"));NorthaddtextpSouthaddnewLabel("左上角位置坐標:"));SouthaddtextSouthaddtextouthaddbuttonowListenernewWindowAdapter{publicvoidwindowClosing(WindowEvente){emexit}}vasBorderLayoutCENTERrthBorderLayoutNORTHouthBorderLayoutSOUTHBoundsate}publicvoidactionPerformed(ActionEvente){{xIntegerparseInttextgetText;IntegerparseInttextgetTextw=Integer.parseInt(text3.getText());hIntegerparseInttextgetText());XxYyWwHhnt}mberFormatExceptionee{xyw;h=0;}}}licclassTest{publicstaticvoidmainStringargs[]){indowCanvas}}取它的默認布局:BorderLayout布局,北面添加一個List組心添加一個文本區(qū),當選擇List組件中的某個選項后,文本區(qū)avaawtowGoodsextendsFrameimplementsActionListenerItemListener{Strings"產(chǎn)地:","產(chǎn)地:","產(chǎn)地:","產(chǎn)地:"};Stringp{"價格:3200","價格:158","價格:13.2","價格:320/打"};Stringa{"本商品****","本商品*****","本商品******","本商品*******"};istlistxtAreatextWindowGoods){TextAreaablefalsetBorderLayoutNORTHtBorderLayoutCENTERisthisowListenernewWindowAdapter{publicvoidwindowClosing(WindowEvente){emexit}}Boundsate}publicvoiditemStateChanged(ItemEvente){ist{dextsetTextpmnsm}}publicvoidactionPerformed(ActionEvente){dexxtan}}licclassTest{publicstaticvoidmainStringargs[]){indowGoods}}avaawtwColorextendsFrameimplementsActionListener{Buttonbutton//按鈕TextFieldtextfield/文本框TextAreatextarea文本區(qū)Mypanelpanel;//面板CheckboxboxChoicechoice拉列表Listlist動列表Labellabel簽Mycanvascan//畫布uttonbuttonBackColorbuttonForeColorWindowColor){buttonnewButton"我是按鈕");textfieldnewTextField,10);anewTextAreaextareasetTexttEditablefalseEditablefalsenelnewMypanelboxnewCheckbox("我是選擇框");hoicechoiceadd;lnvasbuttonBackColornewButton("背景色");buttonForeColornewButton("前景色");wLayoutonfieldarealcelnBackColornForeColorowListenernewWindowAdapter{publicvoidwindowClosing(WindowEvente){emexit}}uttonBackColoraddActionListenerthisuttonForeColoraddActionListenerthisBoundsate}publicvoidactionPerformed(ActionEvente){kColor{buttonsetBackgroundColoryellowetBackgroundColoryellowtBackgroundColoryellowpanelsetBackgroundColoryellowboxsetBackgroundColoryellowBackgroundColoryelloworyellowloryellowkgroundColoryellow}etSourcebuttonForeColor{buttonsetForeground(Color.blue);eldsetForegroundColorblueeasetForegroundColorbluepanelsetForeground(Color.blue);boxsetForeground(Color.blue);esetForegroundColorbluedColorbluendColorbluetForegroundColorblue}}}asextendsCanvas{Mycanvas(){}publicvoidpaint(Graphicsg){gdrawString,5);}}lextendsPanel{ButtonbuttonMypanel){button=newButton("我是面板");ton}}licclassTest{publicstaticvoidmainStringargs[])}}ullavaawtwMoveextendsFrameimplementsActionListener{Buttonbuttonbutton2;WindowMove(Strings){button=newButton("我讓它橫向走動");button=newButton("我讓它縱向走動");button.setBackground(Color.blue);button.setBackground(Color.green);buttonaddActionListenerthisbuttonaddActionListenerthisbuttonsetCursorCursorgetPredefinedCursorCursorHAND_CURSOR));buttonsetCursorCursorgetPredefinedCursorCursorHAND_CURSOR));tontonowListenernewWindowAdapter{publicvoidwindowClosing(WindowEvente){emexit}}buttonsetBounds,80,100,30);buttonsetBounds0,180,100,30);Boundsate}publicvoidactionPerformed(ActionEvente){RectanglerectbuttongetBounds;RectanglerectbuttongetBounds;{buttonsetLocationxy2);}getSourcebutton{buttonsetLocationxy1);}}}licclassTest{publicstaticvoidmainStringargs[]){newWindowMove動");}}窗口的布局為null,在窗口中有3個按鈕和一個avaawtwChangeColorextendsFrameimplementsActionListener{ButtonbuttonRedbuttonGreenbuttonBlueMycanvascanvas;WindowChangeColor(Strings){buttonRednewButton("紅色");buttonGreennewButton("綠色");buttonBluenewButton"藍色");ycanvasbuttonRedsetBackground(Color.red);buttonGreensetBackground(Color.green);buttonBluesetBackground(Color.blue);ascanvassetBounds);onRedbuttonRedsetBounds170,50,30);onGreenbuttonGreensetBounds170,50,30);onBluebuttonBluesetBounds,170,50,30);uttonRedaddActionListenerthisuttonGreenaddActionListenerthisuttonBlueaddActionListenerthisowListenernewWindowAdapter{publicvoidwindowClosing(WindowEvente){emexit}}Boundsate}publicvoidactionPerformed(ActionEvente){d{tXnt}etSourcebuttonGreen{tXnt}etSourcebuttonBlue{tXnt}}}asextendsCanvas{Mycanvas){white}publicvoidsetX(inty){}publicvoidpaint(Graphicsg){case1:ColorColorredkColorColorgreenkColorColorbluekColorwhite}gdrawOval;}}licclassTest{publicstaticvoidmainStringargs[]){newWindowChangeColor"改變顏色");}}avaawtwCursorextendsFrameimplementsActionListener{Buttonbuttonbutton;xtFieldtextWindowCursor{buttonnewButton"單擊我");textnewTextField按鈕上看形狀");button=newButton("看看你鼠標的形狀");tonBorderLayoutNORTHttonBorderLayoutCENTERxtBorderLayoutSOUTHbuttonsetBackgroundColorcyan);button.setBackground(Color.pink);uttonaddActionListenerthisowListenernewWindowAdapter{publicvoidwindowClosing(WindowEvente){emexit}}Boundsate}publicvoidactionPerformed(ActionEvente){licclassTest{nn0;{buttonsetCursorCursorgetPredefinedCursorCursorHAND_CURSOR));kcase1:buttonsetCursorCursorgetPredefinedCursorCursorCROSSHAIR_CURSOR));kbuttonsetCursorCursorgetPredefinedCursorCursorTEXT_CURSOR));kbuttonsetCursorCursorgetPredefinedCursorCursorWAIT_CURSOR));kbuttonsetCursorCursorgetPredefinedCursorCursorN_RESIZE_CURSOR));kbuttonsetCursorCursorgetPredefinedCursorCursorNW_RESIZE_CURSOR));kbuttonsetCursorCursorgetPredefinedCursorCursorNE_RESIZE_CURSOR));kbuttonsetCursorCursorgetPredefinedCursorCursorW_RESIZE_CURSOR));kbuttonsetCursorCursorgetPredefinedCursorCursorMOVE_CURSOR));kbuttonsetCursorCursorgetPredefinedCursorCursorDEFAULT_CURSOR));k}}}publicstaticvoidmainStringargs[]){indowCursor}}狀avaawtilitiesxtendsFrameimplementsMouseListenerMouseMotionListener{uttonbuttonxtFieldtextleanmovefalseWin){button=newButton("用鼠標拖動我");textnewTextField8);tBackgroundColorgreenbuttonsetBackground(Color.blue);uttonaddMouseListenerthisttonaddMouseMotionListenerthisListenerthisMotionListenerthisMotionListenerthiswLayoutonowListenernewWindowAdapter{publicvoidwindowClosing(WindowEvente){emexit}}undsate}publicvoidmousePressedMouseEvente){}publicvoidmouseReleased(MouseEvente){movefalseectanglerectbuttongetBoundstgetBounds{{blefalse}etSourcetext{uttonsetVisiblefalse}}}publicvoidmouseEnteredMouseEvente){}publicvoidmouseExitedMouseEvente){}publicvoidmouseClickedMouseEvente){}publicvoidmouseMovedMouseEvente){}publicvoidmouseDragged(MouseEvente){onentnullofComponent{ComponentegetSourcemovetruelitiesconvertMouseEventethis{getXtYintw=.getSize().width,hgetSizeheight;tionxwyh}}}}licclassTest{publicstaticvoidmainStringargs[]){Winwin=newWin();}}avaawttendsFrameimplementsKeyListener{Buttonb=newButton[8];Win){wLayoutorintiii{binewButton"+i);biaddKeyListenerthis;}owListenernewWindowAdapter{publicvoidwindowClosing(WindowEvente){emexit}}undsate}publicvoidkeyPressed(KeyEvente){leanmovefalseButtonbuttonButton)e.getSource();ectanglebuttonrectbuttongetBoundsngstrbuttongetLabelrttongetBoundsxybuttongetBoundsyntVKUP{y}egetKeyCodeKeyEventVKDOWN{}egetKeyCodeKeyEventVKLEFT{xx;}egetKeyCodeKeyEventVKRIGHT{}buttonrectsetLocationxyintkkk{RectanglerectbkgetBounds;tersectsrectxxk{movetrue}}{buttonsetLocationxy}}publicvoidkeyTypedKeyEvente){}publicvoidkeyReleasedKeyEvente){}}licclassTest{publicstaticvoidmainStringargs[]){Winwin=newWin();}}第8章建立對話框否繼續(xù)將該數(shù)javaawteventPanewSaveNumberextendsFrameimplementsActionListener{FieldtextInputNumberAreatextSaveNumberWindowSaveNumber{NumbernewTextFieldbernewTextAreatInputNumberBorderLayoutNORTHtSaveNumberBorderLayoutCENTERberaddActionListenerthisBoundsateowListenernewWindowAdapter{publicvoidwindowClosing(WindowEvente){emexit}}}publicvoidactionPerformed(ActionEvente){ngstextInputNumbergetText{NumberappendnsmbersetTextnull}{intnJOptionPaneshowConfirmDialogthis繼續(xù)將該數(shù)onPaneYESNOOPTIONN{Numberappendns}ptionPaneNOOPTION{mbersetTextnull}}}}licclassTest{publicstaticvoidmainStringargs[]){indowSaveNumber}}avaawtPaneadextendsFrameimplementsActionListener{MenuBarmenubar;Menumenu1,menu2,menu3,menu5;MenuItemitem[]=newMenuItem[23];xtAreatextFileDialogfiledialogsave;FileDialogfiledialog_load;Notepad(Strings){menubarnewMenuBar);menu1=newMenu("文件");menu2=newMenu("編輯");menu3=newMenu("格式");menu5=newMenu("幫助");temewMenuShortcutKeyEventVKNtemewMenuShortcutKeyEventVKOtemutnewMenuShortcutKeyEventVKSuItemtemewMenuShortcutKeyEventVKPtemtemewMenuShortcutKeyEventVKZtemewMenuShortcutKeyEventVKXtemewMenuShortcutKeyEventVKCemnewMenuShortcutKeyEventVKVememwMenuItememememenuItemMenuItemwMenuItemAreafiledialogsavenewFileDialogthis存文件",FileDialog.SAVE);filedialogloadnewFileDialogthis文件",FileDialog.LOAD);ogsavesetVisiblefalseogloadsetVisiblefalseogsaveaddWindowListenernewWindowAdapter{publicvoidwindowClosing(WindowEvente){ogsavesetVisiblefalse}}ogloadaddWindowListenernewWindowAdapter{publicvoidwindowClosing(WindowEvente){ogloadsetVisiblefalse}}menuadd(item[0]);menuadd(item[1]);menuadd(item[3]);menuaddSeparator();menuadd(item[4]);menuadd(item[5]);menuaddSeparator();menuadd(item[6]);menuadd(item[7]);menuaddSeparator();menuadd(item[8]);menuadd(item[9]);menuadd(item[10]);menuadd(item[11]);menuaddSeparator();menuadd(item[12]);menuadd(item[13]);menuadd(item[14]);menuadd(item[15]);menuaddSeparator();menuadd(item[16]);menuadd(item[17]);menuadd(item[18]);menuadd(item[21]);menuaddSeparator();menuadd(item[22]);menubaraddmenu1);menubaraddmenu2);menubaraddmenu3);menubaraddmenu5);thisthisthisthisrthisrthistBorderLayoutCENTERBoundsdowListenernewWindowAdapterpublicvoidwindowClosing(WindowEvente){emexit}}ate}publicvoidactionPerformed(ActionEvente){rceitem{null}elseifegetSourceitem//完成打開{ogloadsetVisibletrue}elseifegetSourceitem//完成保存{ogsavesetVisibletrue}elseifegetSourceitem//完成退出{emexit}ifegetSourceitem{JOptionPaneshowMessageDialogthis中有很多功能沒有實現(xiàn)\n剩余功能正n幫助主題",JOptionPane.INFORMATION_MESSAGE);}ifegetSourceitem{JOptionPaneshowMessageDialogthis自己做的NotePad\n作者:王財\n版本:NotePad1.1\n運行平臺:Windows平臺","關于記事本}}}licclassTest{publicstaticvoidmain(String[]args){}}第9章Java多線程機制CPU。art程在什么狀態(tài)時,調用isAlive()方法返回的值是false。態(tài)時,線程調用調用isAlive()方法返回的值是false。Thread個線程;創(chuàng)建時要向構造方法Thread(Runnabletarget)傳遞一個RunnablereadrunsetPriorityintgrade的int型參數(shù)。上線程同時訪問同一個變量,并且一個線程需要修改這個變量時4中的循環(huán)條件:while(五元錢的個數(shù)<3)改寫成:interrupt程。即:它所完成的是當線程處于阻塞狀態(tài)時,拋出InterruptedExceptioninterrupt方法不會中斷一個正在運行線程,一個負責模仿垂直上拋運動,另一個模仿45°的拋體avaawtlicclassTest{publicstaticvoidmainStringargs[]){MyFrameframe=newMyFrame();framesetBounds00);isibletrueindowListenernewWindowAdapter{publicvoidwindowClosing(WindowEvente){emexit}}}ameextendsFrameimplementsRunnable{Thread紅色球,藍色球;MyCanvasred,blue;MyFrame){dthisdnewMyCanvasColorredbluenewMyCanvasColorblueredsetLocation0);bluesetLocation100);}ublicvoidrun{while(true){entThread{tdsetLocationxh}nterruptedExceptione}lseifThreadcurrentThread{tbluesetLocationxh}nterruptedExceptione}}}}asextendsCanvas{Colorc;MyCanvas(Colorc){}publicvoidpaint(Graphicsg){cfillOval}}、某和某買電影票,售票員只有3五元的錢,電影,某排在某的前面拿一十元的人avaawtlicclassTest{publicstaticvoidmainStringargs[]){yFrame}}eextendsFramestener{售票員王小姐;Thread某,某,某;extButtonstart=newButton("排隊買票");MyFrame){readthisadthisadthiswTextAreate
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 如何構建包容性的公共政策體系試題及答案
- 機電工程考生的素質培養(yǎng)及試題與答案
- 2025年智慧能源管理系統(tǒng)建設方案:能源行業(yè)智能化安全管理報告
- 機電工程2025年軟件運用試題及答案
- 機電工程技術應用能力的考核試題及答案
- 網(wǎng)絡工程實施中的挑戰(zhàn)與解決策略試題及答案
- 界面測試與可用性測評試題及答案
- 探討西方政治制度的思想基礎及理論來源試題及答案
- 機電工程柔性制造試題及答案
- 軟件設計師考試團隊效率優(yōu)化試題及答案
- 2023商務部中國國際電子商務中心招聘2人筆試備考題庫及答案解析
- 2023江蘇高考真題生物(含解析)
- 動物生理學實驗指導書
- GB/T 3077-2015合金結構鋼
- 閩侯縣國土空間總體規(guī)劃(2021-2035年)
- 城鎮(zhèn)污水排入排水管網(wǎng)許可申請表(模板)
- 中國兒童青少年膳食指南
- 六年級下冊道德與法治課件第四單元第九課
- 象棋比賽計分表
- 烙鐵溫度點檢表
- 公司質量異常處理單
評論
0/150
提交評論