首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下面是一个Applet程序,其功能是在绘图区域中通过鼠标的移动来绘制直线,并且有清除绘图区域按钮,用来清除已经绘制的图像。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 程序运行结果
下面是一个Applet程序,其功能是在绘图区域中通过鼠标的移动来绘制直线,并且有清除绘图区域按钮,用来清除已经绘制的图像。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 程序运行结果
admin
2013-02-25
93
问题
下面是一个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全国计算机二级
相关试题推荐
表达式divmod(40,3)的结果是()。
下列数据结构中为非线性结构的是()。
在Python中,使用for…in…方式形成的循环不能遍历的类型是()。
以下程序中描述的是哪一种传入参数的方法()。deff(a,b):ifa>b:print(”1”)elifa==b:print(”2”)else:prin
在关系数据库中,描述全局数据逻辑结构的是()。
某系统结构图如下所示: 该系统结构图的最大扇入数是()。
设strl=’python’,语句print(strl.center(10,*))的执行结果是()。
表达式divmod(40,3)的结果是()。
对象实现了数据和操作(方法)的结合,其实现的机制是()。
某二叉树中度为2的结点有18个,则该二叉树中有【】个叶子结点。
随机试题
下列有关血友病的描述最恰当的是:()
ELISA是利用酶催化反应的特性来检测和定量分析免疫反应。ELISA中常用的标记物
肺炎伴感染性休克常见于以下肺部炎症,除了()
A.药品生产企业定价B.药品经营企业定价C.医疗机构定价D.国家价格主管部门定价E.省级价格主管部门定价计划生育药品由
事业单位当年实现的非财政补助结余分配,应全数转入“事业基金——一般基金”科目。()
甲股份有限公司(本题下称甲公司)适用的所得税税率为25%,所得税采用资产负债表债务法核算,按年确认暂时性差异的所得税影响金额,且发生的暂时性差异预计在未来期间内能够转回。甲公司按实现净利润的10%提取法定盈余公积。甲公司2010年度财务报告于2011年3月
若f(χ)=|3χ+2a|的单调递增区间为[4,+∞),则a=().
我国心理学家一般把学习分为________、________、和________学习三类。
Makesureyou’re______himbeforeyoustartsharingahouse.
A、Anassistedsuicideorganization.B、Atravelagency.C、Ahospital.D、Apolicestation.A题目问的是Dignitas是什么。新闻中提到,Dignitas是一个在瑞士的
最新回复
(
0
)