首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下面是一个Applet程序,其功能是在绘图区域中通过鼠标的移动来绘制直线,并且有清除绘图区域按钮,用来清除已经绘制的图像。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 程序运行结果如下
下面是一个Applet程序,其功能是在绘图区域中通过鼠标的移动来绘制直线,并且有清除绘图区域按钮,用来清除已经绘制的图像。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 程序运行结果如下
admin
2009-01-15
41
问题
下面是一个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创建了一个菜单并生成了相应的菜单程序,则运行菜单程序的命令是
设循环队列的存储空间为Q(1:35),初始状态为front=rear=35。现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为
下列叙述中正确的是
假设客户表中有客户号(关键字)C1~C10共10条客户记录,订购单表有订单号(关键字)OR1~OR8共8条订购单记录,并且订购单表参照客户表。如下命令可以正确执行的是
下面程序的运行结果是:SETTALKOFFn=1procl(n)?n+2PROCEDUREproc1PARAMETERSnFORk=2TO4n=n+kENDFORRETURN
检查软件产品是否符合需求定义的过程称为
表单里有一个选项按钮组,包含两个选项按钮Option1和Option2,假设Option2没有设置Click事件代码,而Optionl以及选项按钮组和表单都设置了Click事件代码,那么当表单运行时,如果用户单击Option2,系统将
下列不属于表单对象特有的方法是()。
随机试题
字长为16位的某计算机,其主存容量为64KB,采用单字长单地址指令,共有64条指令。请解决以下问题:(1)系统采用立即寻址,请给出指令的设计格式。(2)系统采用直接寻址,请给出指令的设计格式。(3)系统采用基址寻址,请给出指令的设计格式。(4)系
下列是软膏剂类脂类基质的是()
根据《中华人民共和国招标投标法》,可以不采用法定招标方式确定承包人的项目是()。
A公司和B公司签订一项购销合同,A公司向B公司开出发票后1个月付款的银行汇票。B公司将汇票背书后向C公司转让,C公司又背书后向D公司转让。请根据现行法规,回答下列问题。如果B公司未履行供货义务,A公司有权利要求银行停止支付该汇票吗?
甲公司2009年支付4000万元取得20万平方米土地使用权,新建厂房建筑面积8万平方米,工程造价1800万元,2010年12月完工并通过验收。该企业计算2011年房产税时的正确处理有()。(注:当地按房产原值一次扣除30%后的余值计税)。
贯彻因材施教,教师应针对学生的特点来进行有区别的教学。对于学习不专心的同学,以下最适合采取的教学方法是()
新闻媒体应该正确传递各方声音,起到公众与政府互动的_______作用;应该继承、扬弃、整合和创造文化形态,_______地影响和塑造社会大众的精神操守,提升民族文化的层次和品位。填入横线部分最恰当的一项是()。
当在消毒柜中消毒时,不含水分的餐盘包括其内部,可以达到很高的、足以把所有引起餐盘中毒的细菌杀死的温度;但是含有水分的餐盘的内部则达不到这样高的温度。由上述断定不能推出的结论是哪项?
在中国共产党的领导下,走中国特色社会主义道路,实现中华民族伟大复兴,是现阶段我国各族人民的共同理想。这个共同理想
WefeedbirdsforthefollowingreasonsEXCEPTthat
最新回复
(
0
)