首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下面是一个Applet程序,其功能是在绘图区域中通过鼠标的移动来绘制直线,并且有清除绘图区域按钮,用来清除已经绘制的图像。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 程序运行结果
下面是一个Applet程序,其功能是在绘图区域中通过鼠标的移动来绘制直线,并且有清除绘图区域按钮,用来清除已经绘制的图像。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 程序运行结果
admin
2013-02-25
49
问题
下面是一个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://kaotiyun.com/show/8R2p777K
本试题收录于:
二级Java题库NCRE全国计算机二级分类
0
二级Java
NCRE全国计算机二级
相关试题推荐
现在假设有一个包含一个函数的程序放在一个文件中,在主程序文件中,使用下面各种方法来导入它,哪一种方法是错误的()。
以下程序的输出结果是()。l=’abcd’deff(x,result=[’a’,’b’,’c’,’d’]):ifx:result.remove(x[-1])f(x[:-1])
表示学生选修课程的关系模式是SC(S#,C#,G),其中S#为学号,C#为课程号,G为成绩,检索选修了课程号为2且成绩不及格的学生学号的表达式是()。
某系统结构图如下所示(图中n≥5): 该系统结构图的最大扇出数是()。
下列叙述中正确的是()。
以下语句不会引发异常的是()。
某二叉树中有15个度为1的节点,16个度为2的节点,则该二叉树中总节点数为()。
以下不属于Python开发用户界面第三方库的是()。
在编写JavaApplet程序时,若需要对发生的事件做出响应和处理,一般需要在程序的开头写上______语句。
在窗体上画一个命令按钮和一个文本框,名称分别为Commandl和Text1,然后编写如下程序:PrivateSubCommandl_click()a=InputBox(“请输入日期(1~31)”)t="旅游景点:"
随机试题
护理教师作为评估观察者,主要是观察()
患者,女性,45岁。经检查诊断为急性胆囊炎胆石症合并梗阻性化脓性胆管炎。患者血压偏低,躁动不安,最好的处理是
不是皮质性白内障膨胀期的表现的有()
齐三泰在沈阳皇姑区牡丹园小区有一套三居室的房屋,其儿子齐云飞在外地工作,2001年齐三泰去世,该房屋由其侄子齐明雨一家暂住。2003年6月齐明雨未经齐云飞同意,将房屋卖给了陆涛,齐云飞听说后立即将齐明雨告上法庭。沈阳市皇姑区人民法院审理后,判决齐明雨将卖方
某项工程价值7亿元,其向甲乙丙三家公司分别投保,甲财险公司承保3亿元,乙财险公司承保2.5亿元,丙财险公司承保1.5亿元。这种保险方式被称为( )。
对存货的下列()认定来说,注册会计师现场观察存货的盘点并实施检查和抽盘,所得到的证据不足以达到合理保证程度所要求的相关性。
以下哪些属于法律关系的客体()
简述犯罪的基本特征。
设一设备开机后无故障工作时间X服从指数分布,平均无故障工作时间为5小时,设备定时开机,出现故障自动关机,而在无故障下工作2小时便自动关机,求该设备每次开机无故障工作时间Y的分布.
Sexualselection,amechanismofevolutionthatcandrivetheappearanceofbrightfeathersandelaboratehorns,isoftenassu
最新回复
(
0
)