首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下面是一个Applet程序,其功能是在绘图区域中通过鼠标的移动来绘制直线,并且有清除绘图区域按钮,用来清除已经绘制的图像。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 程序运行结果
下面是一个Applet程序,其功能是在绘图区域中通过鼠标的移动来绘制直线,并且有清除绘图区域按钮,用来清除已经绘制的图像。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 程序运行结果
admin
2013-02-25
50
问题
下面是一个Applet程序,其功能是在绘图区域中通过鼠标的移动来绘制直线,并且有清除绘图区域按钮,用来清除已经绘制的图像。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。
注意:不改动程序的结构,不得增行或删行。
程序运行结果如下:
import.java.awt.*;
import.java.applet.*;
/*
<applet code=exl_3.class width=800 height=400>
</applet>
*/
public class exl_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);
bClearr=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="exl_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://jikaoti.com/ti/Af80FFFM
本试题收录于:
二级Java题库NCRE全国计算机二级分类
0
二级Java
NCRE全国计算机二级
相关试题推荐
定义学生、教师和课程的关系模式S(S#,Sn,Sd,Sa)(其属性分别为学号、姓名、所在系和年龄)、C(C#,Cn,P#)(其属性分别为课程号、课程名和选修课)、SC(S#,C#,G)(其属性分别为学号、课程号和成绩),则该关系为()。
在学校里,每间宿舍住1到6名学生,每名学生只在一间宿舍居住,则实体宿舍与实体学生之间的联系是()。
以下程序的输出结果是()。 img1=[12,34,56,78] img2=[1,2,3,4,5] defmodi(): img1=img2 print(img1) modi() pr
不能使下面程序结束的是()。 whileTrue: inp=eval(input(”请输入一个数值:”)) ifinp//3: break
某完全二叉树共有256个节点,则该完全二叉树的深度为()。
下列叙述中正确的是()。
数据模型的3个组成部分是()。
在考生文件夹下有一个文件PY103.py,在横线处填写代码,完成如下功能。程序接收用户输入的一个数字并判断是否为正整数,如果不是正整数,则显示“请输入正整数”并等待用户重新输入,直至输入正整数为止,并输出该正整数。示例如下。输入:请输入
下列Java标识符,错误的是()。
在捕获异常时要用【】子句。
随机试题
男,30岁,1年前下岗。近5个月来觉得邻居都在议论他,常不怀好意地盯着他,有时对着窗外大骂,自语、自笑,整天闭门不出,拨“110”电话要求保护。治疗应首先选用
设备制造前供货方提交履约保函和金额为合同设备价格10%的商业发票后,采购方支付合同设备价格的()作为预付款。
()是指国际债权人在进行国际资金融通时往往要求当地信誉好的银行、非银行金融机构、企业或政府为其提供担保。
在公司的稳定增长阶段最适宜采用的股利分配政策是固定股利支付率政策。()
体育与健康课程在高中阶段必修11个学分。这在高中各门必修课程中学分是最高的,比语文、数学、外语还多出1个学分。()
制定《人民警察使用警械和武器条例》的法律依据是()。
用变量代换x=sint将方程(1-x2)d2y/dx2-x(dy/dx)-4y=0化为y关于t的方程,并求微分方程的通解.
阅读以下叙述,回答问题【说明】M公司2009年5月中标某单位(甲方)的电子政务系统开发项目,该单位要求电子政务系统必须在2009年12月之前投入使用。王某是公司的项目经理,并且刚成功地领导一个6人的项目团队完成了一个类似项目,因此公司指派
为了使文本框只具有垂直滚动条,应先把MultiLine属性设置为True,然后再把ScrollBars属性设置为( )。
【T1】Whiletherearealmostasmanydefinitionsofhistoryastherearehistorians,modernpracticemostcloselyconformstoone
最新回复
(
0
)