您好,欢迎访问三七文档
一、单项选择题1.下列不在applet生命周期中的方法是(C)。A)initB)startC)executeD)stop2.KeyListener接口中处理键盘事件的处理器不包括(D)。A)keyPressedBkeyReleasdCkeyTypedDmouseEntered3.第一次装载或重装applet时,都要调用(A)方法。A)initB)startC)stopD)destroy4.鼠标进入组件时调用的方法是(B)。A)mouseExitB)mouseEnteredC)mouseMovedD)mouseReleased5.按下按钮移动鼠标时调用(C)鼠标处理器A)mouseMouedB)mouseReleasedC)mouseDraggedD)mouseClicked6.下列哪个事件不是所有GUI组件都能产生的事件(A)A)ActionEventB)MouseEventC)KeyEventD)FocusEvent7.下列哪些事件处理方法不是定义在MouseListener中(D)A)mouseEnteredB)mousePressedC)mouseClickedD)mouseMoved8.下列哪些事件处理方法不是定义在KeyListener中(A)A)keyClickedB)keyPressedC)keyReleasedD)keyPressed9.在Applet应用程序的生命周期中,以下说法正确的是:(C)A)当打开浏览器窗口时,系统会自动调用start方法,在Applet应用程序的生命周期中,start方法可执行多次;B)当激活浏览器窗口时,系统会自动调用start方法,在Applet应用程序的生命周期中,start方法只可执行一次;C)当打开浏览器窗口时,系统会自动调用init方法,在Applet应用程序的生命周期中,init方法只可执行一次;D)当激活浏览器窗口时,系统会自动调用init方法,在Applet应用程序的生命周期中,init方法可执行多次。10.如果重写了Applet的paint方法,在以下何种情况中,会自动调用paint方法绘图。(D)A)当浏览器运行时B)当Applet内容被覆盖后又重新显示时C)在执行repaint方法重新绘图时D)包括以上三种情况11.在浏览器中执行applet程序,以下选项中的哪个方法将被最后执行(C)。A)init()B)start()C)destroy()D)stop()12.在编写JavaApplet程序时,需要在程序的开头写上(B)语句。A)importjava.awt.*;B)importjava.applet.*;C)importjava.io.*;D)importjava.awt.event.*;二、填空题1.使用MouseListener接口监听鼠标按下、松开、进入、退出和点击等行为。2.使用MouseMotionListener接口监听鼠标的移动和拖动等行为。3.默认情况下,JApplet的内容窗格使用BorderLayout布局管理器4.在applet程序的生命周期中,浏览器通过调用___init__、__start___、___stop___和destroy_方法来控制applet程序。5.Applet的_____init____方法在开始时只执行一次,____start_________方法在用户每次访问包含Applet的HTML文件时都被调用,_______paint_________方法可以用来在其中画图,_____stop_________方法在用户离开Applet所在的HTML页面时被调用。6.applet小程序需要继承___Applet/JApplet__________类7.在显示或者重新显示applet小程序时,会调用___paint__________方法8.JApplet内容窗格的缺省布局管理器是______BorderLayout_______9.在网页中嵌入applet小程序的标记是____applet\applet_____________10.鼠标事件的监听接口是____MouseListener_________和___MouseMotionListener_______,键盘事件的监听接口是____KeyListener__________。三、判断题1.TextField和TextArea是用来接受用户输入的组件,但是也可以由程序控制使用户不能在其中输入信息。2.用hide()或setVisible(false)方法可以使组件隐藏不可见,但是一旦隐藏便不能恢复显示。3.一个Button对象,可以调用方法getLabel()获取其上的标签,从而判断是哪个按钮;Label也使用相同的方法。4.所有的鼠标事件都由MouseEvent类的对象表示。5.所有的鼠标事件都由实现了MouseListener监听接口的监听者来处理。6.使用BorderLayout的容器最多只能放置5个组件,如果要放置更多的组件,则需要使用多层容器。7.使用GridLayout布局策略的容器中,所有的组件都有相同大小。8.一般情况下,applet都可以转化成application。9.在applet生存周期中stop方法总是在destroy方法之后执行。答案:1.对2.错,可以恢复3.后半句错4.对5.错,鼠标移动和拖动事件由实现了MouseMotionListener监听接口的监听者来处理6.对7.对8.对9.错四、编程题1.请编写一个Applet,其功能为:用它的HTML文件中给出的两个整型参数做加数,求它们的和并显示结果。(知识点考察:Applet生命周期,编写Applet文件的方法)importjava.awt.*;importjava.applet.*;publicclassApplet1extendsApplet{Labela;publicvoidinit(){intx=Integer.parseInt(getParameter(x));inty=Integer.parseInt(getParameter(y));intz=x+y;a=newLabel(HTML给出的两个参数+x+,+y+之和为+z);add(a);}}HTML文件appletcode=Applet1.classwidth=320height=200paramname=xvalue=100paramname=yvalue=666/applet2.请编写一个Applet,用它的HTML文件中给出的两个float型参数作加数,求它们的和,并显示结果。(知识点考察:Applet生命周期,编写Applet文件的方法)importjava.awt.*;importjava.applet.*;publicclassApplet1extendsApplet{Labela;publicvoidinit(){floatx=Float.valueOf(getParameter(x)).floatValue();floaty=Float.valueOf(getParameter(y)).floatValue();floatz=x+y;a=newLabel(HTML给出的两个参数+x+,+y+和为+z);add(a);}}HTML文件略。3.请编写一个实现如下功能的Applet:从它的HTML文件中取三个参数x,y,op做算术运算,其中x,y为int型数据,op为运算符(+、-、×、÷之一),请显示xopy的结果。(知识点考察:从HTML文件中获取参数的方法)importjava.awt.*;importjava.applet.*;publicclassApplet1extendsApplet{intx,y;charop;publicvoidpaint(Graphicsg){Stringstr=;x=Integer.parseInt(getParameter(x));y=Integer.parseInt(getParameter(y));op=getParameter(op).charAt(0);switch(op){case'+':str=str+x+++y+=+(x+y);break;case'-':str=str+x+-+y+=+(x-y);break;case'*':str=str+x+*+y+=+(x*y);break;case'/':str=str+x+/+y+=+(x/y);break;default:g.drawString(不能识别的运算符+op,20,60);System.exit(0);}g.drawString(str,20,100);}}HTML文件略。4.编写小程序,小程序界面设置BorderLayout布局,创建一个面板JPanel,面板放置一个文本框、两个按钮,把面板放置在小程序的中间。(知识点考察:BorderLayout布局管理器的使用方法,在面板中放置组件)importjava.awt.*;importjavax.swing.*;publicclassMyAppletextendsJApplet{JButtonb1,b2;JTextFieldtf;JPanelp1;//面板--用来放组件:按钮、标签、文本框、。。。publicvoidinit(){p1=newJPanel();//创建面板b1=newJButton(按钮1);b2=newJButton(按钮2);tf=newJTextField(20);p1.add(b1);p1.add(b2);p1.add(tf);this.getContentPane().add(p1,BorderLayout.CENTER);}}5.编写Applet,其中包含两个按钮,它们的标签分别为“画正方形”和“画圆”,点击按钮“画正方形”时,通过paint()方法以坐标(10,10)为左上角画一个边长为60的兰色正方形框;点击按钮“画圆”时,画一个半径为50的红色填充圆,该圆内切于左上角坐标为(100,100)的正方形。如果那个按钮被点击,就使该按钮变得不可见。(知识点考察:在Applet中绘制图形,填充颜色,按钮的事件触发)@程序importjava.awt.*;importjava.awt.event.*;importjava.applet.*;publicclassApplet1extendsAppletimplementsActionListener{inti;Buttonbtn1,btn2;publicvoidinit(){btn1=newButton(画正方形);btn2=newButton(画圆);add(btn1);add(btn2);btn1.addActionListener(this);btn2.addActionListener(this);}publicvoidpaint(Graphicsg){if(i==1){g.setColor(Color.blue);g.drawRect(10,10,60,60);btn1.setVisible(false);}if(i==2){g.setColor(Color.red);g.fillOval(100,100,100,100);btn2.setVisible(false);}}publicvoidactionPerformed(ActionEvente){if(e.getSource()==btn1){i=1;}if(e.getSource()==btn2){i=2;}repaint();}}6.编写Applet,其中包含两个按钮:按钮上的标签分别为“确定”和“取消”。当点击“确定”按钮时,通过paint()方法在坐标(20,80)处,用绿色显示点击“确定”按钮的次数;当点击“取消”按钮时,通过paint()方法在坐标(20,100)处,用红色显示点击“取消”按钮的次数(要求“确定”和“取消”的次数同时显示在Applet中)。
本文标题:第十章习题※答案
链接地址:https://www.777doc.com/doc-5366710 .html