首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下面是一个Applet程序,其功能是在绘图区域中通过鼠标的移动来绘制直线,并且有清除绘图区域按钮,用来清除已经绘制的图像。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 程序运行结果如下
下面是一个Applet程序,其功能是在绘图区域中通过鼠标的移动来绘制直线,并且有清除绘图区域按钮,用来清除已经绘制的图像。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 程序运行结果如下
admin
2009-01-15
33
问题
下面是一个Applet程序,其功能是在绘图区域中通过鼠标的移动来绘制直线,并且有清除绘图区域按钮,用来清除已经绘制的图像。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。
注意:不改动程序的结构,不得增行或删行。
程序运行结果如下:
import java.awt.*;
import java.applet.*;
<applet code=ex1_3.class width=800 height=400>
</applet>
*/
public class ex1_3 extends Applet{
private Button btn;
private boolean bDraw, bclear;
private int upX, upY,downX, downY;
public void init(){
setLayout(null);
bclear = false;
bDraw = false;
btn= new Button("clear");
btn.reshape(250, 150, 70, 30);
add(btn);
}
public void paint(Graphics g){
if(bClear){
g.clearRect(0, 0, getSize().width, getSize().height);
bClear = false;
}
if(bDraw){
g.drawLine(upY, upX, downY, downX);
bDraw = false;
}
}
public void update(Graphics g){
paint(g);
}
public boolean mouseDown(Event event, int x, int y){
downX = x;
downY = y;
return true;
}
public boolean mouseUp(Event event, int x, int y){
upX = x;
upY = y;
bDraw = false;
repaint();
return true;
}
public boolean action(Event event, Object object){
if(event.target!=clear){
bclear=true;
repaint();
}
return true;
}
}
ex1_3.Html
<HTML>
<HEAD>
<TITLE>ex1_3</TITLE>
</HEAD>
<BODY>
<applet code=" ex1_3.class" width=800 height=400 >
</applet>
</BODY>
</HTML>
选项
答案
g.drawLine(downX,downY,upX,upY) bDraw = true event.target == btn
解析
本题主要考查Applet的图形绘制,鼠标事件处理和用户界面的相关知识点以及会使用boolean类型的变量控制程序的流程。解题关键是,熟悉Applet的图形绘制,会用Graphics类的基本绘图方法,例如drawLine()方法;熟悉鼠标事件处理,并能与图形绘制和用户界面设计相结合做简单的综合应用;掌握一定的程序流程的控制思想。本题中,主要的思想是首先判断用户将鼠标按下与放开的坐标位置,然后使用drawLine()方法绘制由鼠标按下点到放开点的直线。第1处,将drawLine()方法的几个参数颠倒,要明白此方法的几个参数的确切含义才能正确修改。第2处,将bDraw变量的值设为false,这导致程序在调用paint()方法时不能进入g.drawLine语句,应改为true。第3处,有两个错误:首先要明确clear是btn对象显示在用户界面的名称,而不能作为对象来与event.target做比较,因此应改为btn,这在调试时就会出现变量无法解析的错误;其次,符号!二应改为符号二二这里要确定点击btn事件发生才能做清除,否则不能达到预期效果。
转载请注明原文地址:https://kaotiyun.com/show/chnp777K
本试题收录于:
二级Java题库NCRE全国计算机二级分类
0
二级Java
NCRE全国计算机二级
相关试题推荐
假设已用命令MODIFYMENUmymenu创建了一个菜单并生成了相应的菜单程序,则运行菜单程序的命令是
假定一个表单里有一个文本框Text1和一个命令按钮组CommandGroup1。命令按钮组是一个容器对象,其中包含Command1和Command2两个命令按钮。如果要在Command1命令按钮的某个方法中访问文本框的Value属性值,正确的表达式是
在命令按钮组中,决定命令按钮数目的属性是
有三个关系R、S和T如下:则由关系R和S得到关系T的操作是
数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的
数据库设计中反映用户对数据要求的模式是
下面程序的运行结果是:SETTALKOFFn=1DOproc1WITH(n)?n+2PROCEDUREproc1PARAMETERSnFORk=2TO4n=n+kENDFORRETURN
下列程序段执行以后,内存变量y的值是CLEARx=12345y=0DOWHILEx>0y=y+x%10x=int(x/10)ENDDO?y
在VisualFoxPro中,可以链接或嵌入OLE对象的字段类型是();
随机试题
原告A先生与被告B女士为夫妻,他们在甲国缔结了一项合同,这项合同约定他们在乙国进行离婚诉讼时,双方如何分担责任,如规定丈夫不承担对孩子的监护义务等。审理本案的乙国法官认为:“当一个国家的法院被请求执行在另一个国家缔结的合同时,问题不仅仅在于该合同按照同缔结
不论寒证、热证,惊风抽搐均可选用的药物是
A.妊娠6~8周B.妊娠10周C.妊娠20周D.妊娠28周E.妊娠32~34周妊娠期母体血容量达到高峰的时间为
痿证,由肺热伤津而致者,其典型的舌苔、脉象为
某患者,女性,42岁,反复上腹痛伴反酸10余年,近来疼痛加重,服抗酸药等不能缓解。近4天来上腹痛伴呕吐,呕吐量有时较大,呕吐物为隔夜宿食。查体:上腹部压痛,有振水音。为明确诊断,需进一步的检查是()
底部框架一抗震墙房屋的抗震墙的基础形式不应设置为()。
6.A.F.B.meansAir()Bill.
个人汽车贷款履约保证保险责任范围包括()。
蒙代尔三角不可能哪个不在里面?(中国人民大学2018年真题)()
Thesquareitselfisfivehundredyardswide,fivetimes______thesizeofSt.Peter’sinRome.[2008]
最新回复
(
0
)