![Java2实用教程课后复习题参考答案_第1页](http://file4.renrendoc.com/view/6710986a7fa56cb02c72993d1705827e/6710986a7fa56cb02c72993d1705827e1.gif)
![Java2实用教程课后复习题参考答案_第2页](http://file4.renrendoc.com/view/6710986a7fa56cb02c72993d1705827e/6710986a7fa56cb02c72993d1705827e2.gif)
![Java2实用教程课后复习题参考答案_第3页](http://file4.renrendoc.com/view/6710986a7fa56cb02c72993d1705827e/6710986a7fa56cb02c72993d1705827e3.gif)
![Java2实用教程课后复习题参考答案_第4页](http://file4.renrendoc.com/view/6710986a7fa56cb02c72993d1705827e/6710986a7fa56cb02c72993d1705827e4.gif)
![Java2实用教程课后复习题参考答案_第5页](http://file4.renrendoc.com/view/6710986a7fa56cb02c72993d1705827e/6710986a7fa56cb02c72993d1705827e5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java2实用教程课后习题参考答案第1章Java入门答:(1)编写Java源文件:使用文本编辑器(Edit或记事本),拓展名为.java (2)编译Java源文件:使用Java编译器(javac.exe)。得到字节码文件*.class (3)运行Java程序:Java应用程序使用Java解释器(java.exe)执行字节码文件;public主类必须用public修饰。②应用程序可以没有public类;小应用程序一定有一个类是public类(主类)。用程序:如果只有一个类,源文件名与该类的类名相同,拓展名为.java;有多个类时,如果有public类(最多一个),源文件名与public类的类javapublic,源文件名与任何一个类的类名类的类名相同,拓展名是.java。小程序的HTML文件中可以使用codebase属性指定小程序的字节码所驻留的目录。如果不使用codebase码文件必须和运行它的HTML文件在同一目录中。编写一个小程序并将小程序的字节码存放在某个目录中,比如C:\5000;把运行该小程序的HTML文件(注意其中的codebase属性):appletcode序的字节码width=200height=300codebase=C:\5000>Java用程序源代码licclassBoyextendsApplet{publicvoidpaint(Graphicsg){ColorColorredgdrawString边学Java呢",5,30);ColorColorbluegdrawString,10,50);}}代码命名为Boy.java并进行编译得到Boy.class字节码文件;将得到的字节码文件存放在che车资料库——学习资源共享专家③编写小应用程序的HTML源文件:appletcodeBoyclasswdithheightcodebaseC:\5000></applet>编写好的代码命名为Boy.html;并将此文件存放在C:\5000文件夹以外的任意一个文件夹中(如C:\1000);Boyhtml第2章标识符、关键字和数据类型美元符号和数字组成,并且第一个字符不能是数字字符,而且关键字不能作为标alassbreakpublicreturnstaticextends4.下列哪些语句是错误的:byteb=127;bx;bx是高级别的变量赋值给低级别的变量时,一定要用显式转换即b=(byte)x;。{publicstaticvoidmainStringargs[]){ongalongb00};System.out.println("数组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数");}}}r}}}答:{publicstaticvoidmainStringargs[]){forintiii){rintjjij}System.out.println("1到10的阶乘之和是:"+sum);}}答:{publicstaticvoidmainStringargs[]){forintiii+){intjjij{w=i%j;k}Systemoutprintlni数");}}}rixi{}Systemoutprintlnx数");}}}whilefor10项之和。r{publicstaticvoidmainStringargs[]){forintiii){a}outprintlnsum}}②while循环{publicstaticvoidmainStringargs[]){while(++i<=10){a}outprintlnsum}}用程序,输出满足1+2+3+…+n<8888的最大正整数n。答:{publicstaticvoidmainStringargs[]){while(sum+=k)<8888)k--;Systemoutprintln取到:"+k);}}第4章类、对象和接口或者是参数的类型不同(方法的重载体现了多态性,即功能多态性)。作实例变量包中时,子类可以继承父类的protected方法;而友好方法此时则不能被子staticstatic修饰。{}{{b/合法}}{}{publicvoidfunc{Ax10;//非法Ay20;//合法}}变量和方法?子类在什么情况下隐藏父类的成员变量和方法?在子类中是dsA包中时,子类可以继承父类的除private属性的所有方法和成员变量,当子类与变量和父类中的成员变量同名时,子类就隐藏了继承的成员变量;子类中定义一个的名字、返回类型、参数个数和类型与从父类继承的方法完全相同,子类就隐藏从父类继承来的方法(方法的重写)。BA接子类,当用子类B创建一个对象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的所有方法,并且实现接口的方法时,方法名字、返回的完全一致;类在实现接口时,方法体一定要用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,子类创建的对象不仅可以调用方法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有一个产生异常的方法publicvoidsMyExceptionmMyExceptionmainStudentspeak方法。xceptionextendsException{ngstrMyExceptionintm){strm值大于1000";}publicvoidshowStr{moutprintlnstr}}{publicvoidspeakintmthrowsMyException{{MyExceptionexceptionnewMyException(m);n}outprintlnm}}licclassTest{publicstaticvoidmainStringagrs[]){dentstunewStudentm87;{m234;}hMyExceptione{}}}publicintfintaintb),该方法返回a和b的最大公约数。然后再法f,而且重写的方法将返回a和b的最小公倍数。要求在重写隐藏的方法返回a和b的最大公约数m,然后将乘积(a*b)/m返回。要求类创建对象,并分别调用方法f计算两个正整数的最大公约数{publicintfinta,intb){{mp}while(r!=0){}urnb}}dsA{publicintfinta,intb){msuper.f(a,b);return(a*b)/m;}}licclassTest{publicstaticvoidmainStringargs[]){Aa=newA();Systemoutprintln18和102的最大公约数是:"+a.f(18,102));BbnewB();Systemoutprintln18和102的最小公倍数是:"+b.f(18,102));}}第5章字符串StringpublicStringtoUpperCase小写字母变成大写字母,publicStringtoLowerCase字符串中的大写字母变成小写字母。编写一个程。{publicstaticvoidmainStringargs[]){tringstrIcanuseJavaSystemoutprintln的字符串是:"+str);ngsstrtoUpperCaseSystemoutprintln大写字符串是:"+s);Systemoutprintln小写字符串是:"+s);}}StringpublicStringconcat(Stringstr)方法可以把调用该方法的字符串与参数指定的字str一个新的串。编写一个程序通过连接两个串得到{publicstaticvoidmainStringargs[]){tringstrIcanuringstrseJavaringsstrconcatstrSystemoutprintln符串"+str1+"与字符串"+str2+"连接后得到的新字符串是:");outprintlns}}iccharcharAtintindexindex说ublicclassE{publicstaticvoidmainStringargs[]){Strings技术大学";charascharAtbscharAtmoutprintamoutprintlnb}}4.使用java.util包中的Arrays类的静态方法publicstaticvoidsort(doublea[])可以把参数a指doublejavautil包中的Arrays类的静态方法publicstaticvoidsortdoubleaintstartintend可以把参数a指定的double型数组中从位置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类的静态方法arraycopy可以实现数组的快速复制,上机实习下列程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章时间、日期和数字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}}}某月、某日和某年、某月、某日之间的天数间隔。要求年、月、日通过main方法的参数传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的随机数是:"+randomNum);epowNumMathpowSystemoutprintln("2的10次幂是:"+powNum);esqrtNumMathsqrtSystemoutprintln("10的平方根是:"+sqrtNum);elogNumMathlogSystemoutprintln"2的对数是:"+logNum);doublesinNumMathsin;Systemoutprintln"-10的正弦值是:"+sinNum);oubleasinNumMathasinSystemoutprintln"0.5的反正弦值是:"+asinNum);Systemoutprintln之前的数是:"+sqrtNum);NumberFormatf=NumberFormat.getInstance();mumFractionDigitsmumIntegerDigitsngsfformatsqrtNumSystemoutprintln后:"+s);}}igIntegeravamathlicclassTest{publicstaticvoidmainStringargs[]){BigIntegersumnewBigInteger"0"),igIntegerNEnewBigIntegerwhile(++k<=30){ggmultiplyigmultiplyi}outprintlnsum}}第7章AWT组件及事件处理答:①Frame类对象的默认布局是BorderLayout布局;用程序,有一个标题为“计算的窗口”的窗口,窗口的布局为FlowLayout布局。窗口中添加两个数时,另一个文本区,同时对输入的数进行求和运算并avaawtlatedextendsFrameimplementsTextListener{TextAreatext1,text2;//定义了2个文本区CalculatedStrings/标题为“计算的窗口”的窗口{tLayoutnewFlowLayoutFlowLayoutwTextAreawTextAreatttextsetEditablefalse结果和平均值的文本区禁止编辑ListenerthisowListenernewWindowAdapter{publicvoidwindowClosing(WindowEvente){emexit}}Boundsate}publicvoidtextValueChanged(TextEvente){ingstextgetTextngTokenizergeshunewStringTokenizersanewdoublenrintiini{gtempgeshunextTokeneDoubleparseDoubletemp}averagerintiini{}sumntnulltextappendsum\n"+"平均数:"+average);}}licclassTest{publicstaticvoidmainStringargs[]){CalculatedcalcnewCalculated("计算的窗口");}}getSelectedText方法获取该文本区通过拖动鼠标选中的文件。编写应用程序,有一为BorderLayout布局。窗口中添加两个文本去和一个按钮组avaawtwSelectedTextextendsFrameimplementsActionListener{TextAreatext1,text2;//定义2个文本区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("职业"));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组心添加一个文本区,当选择List组件中的某个选项后,文本区avaawtowGoodsextendsFrameimplementsActionListenerItemListener{Strings"产地:","产地:","产地:","产地:"};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文本区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章建立对话框否继续将该数javaawteventPanewSaveNumberextendsFrameimplementsActionListener{FieldtextInputNumberAreatextSaveNumberWindowSaveNumber{NumbernewTextFieldbernewTextAreatInputNumberBorderLayoutNORTHtSaveNumberBorderLayoutCENTERberaddActionListenerthisBoundsateowListenernewWindowAdapter{publicvoidwindowClosing(WindowEvente){emexit}}}publicvoidactionPerformed(ActionEvente){ngstextInputNumbergetText{NumberappendnsmbersetTextnull}{intnJOptionPaneshowConfirmDialogthis继续将该数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中有很多功能没有实现\n剩余功能正n帮助主题",JOptionPane.INFORMATION_MESSAGE);}ifegetSourceitem{JOptionPaneshowMessageDialogthis自己做的NotePad\n作者:王财\n版本:NotePad1.1\n运行平台:Windows平台","关于记事本}}}licclassTest{publicstaticvoidmain(String[]args){}}第9章Java多线程机制CPU。art程在什么状态时,调用isAlive()方法返回的值是false。态时,线程调用调用isAlive()方法返回的值是false。Thread个线程;创建时要向构造方法Thread(Runnabletarget)传递一个RunnablereadrunsetPriorityintgrade的int型参数。上线程同时访问同一个变量,并且一个线程需要修改这个变量时4中的循环条件:while(五元钱的个数<3)改写成:interrupt程。即:它所完成的是当线程处于阻塞状态时,抛出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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 网络安全全面防护措施策略
- DB6528T 140-2024库尔勒香梨密植高效栽培技术规程
- 五年期产品供应合同书
- 个人住房融资合同协议书
- 人事保管档案合同实施细则
- 个人养殖场合作协议合同
- 个人合伙合作协议书合同范本
- 个人借款合同延期至协议
- 产品销售补偿合同范本
- 买卖合同纠纷起诉书范本
- 2024-2025学年湖北省武汉市部分重点中学高一上学期期末联考数学试卷(含答案)
- 排球正面上手传球 说课稿-2023-2024学年高一上学期体育与健康人教版必修第一册
- 2025年浙江省交通投资集团财务共享服务中心招聘2名高频重点提升(共500题)附带答案详解
- 做投标文件培训
- 9.4+跨学科实践:制作简易活塞式抽水机课件+-2024-2025学年人教版物理八年级下册
- 建筑工程工作计划
- 2025年中国国际投资促进中心限责任公司招聘管理单位笔试遴选500模拟题附带答案详解
- 瓶装液化气送气工培训
- 外科护理课程思政课程标准
- 船舶航行安全
- 道德经全文完整版本
评论
0/150
提交评论