首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下面是一个Applet程序,其功能是在绘图区域中通过鼠标的移动来绘制直线,并且有清除绘图区域按钮,用来清除已经绘制的图像。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 程序运行结果
下面是一个Applet程序,其功能是在绘图区域中通过鼠标的移动来绘制直线,并且有清除绘图区域按钮,用来清除已经绘制的图像。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 程序运行结果
admin
2013-02-25
97
问题
下面是一个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全国计算机二级
相关试题推荐
字典d={’Python’:123,’C’:123,’C++’:123},len(d)的结果是()。
以下关于“forin”的描述,错误的是()。
以下关于Python函数的描述中,错误的是()。
表达式eval(’500//10’)的结果是()。
以下关于二进制数的定义,正确的是()。
软件测试用例包括()。
下列叙述中正确的是()。
以下关于字符串类型的操作的描述,正确的是()。
接口A的定义如下,指出下列哪些类实现了该接口______。InterfaceA{Intmethod1(inti);Intmethod2(intj);}
在使用interface声明一个接口时,可以使用______修饰符修饰该接口。
随机试题
Theydidtheirutmostandmade______progressinashorttime.
沉香可主治
早产的新生儿,住儿科病房,病房的温度是多少摄氏度
下列情形中,不能顺延工程施工工期的是()。
政府正在举办一次公益节目演出,给老年人留有进出的绿色通道,可是很多年轻人也去走绿色通道,造成拥堵,如果你是会场的工作人员,你会怎么做?
根据下面回答下面问题2002年和2003年某省沿海开放地区部分经济指标产值单位:亿元人口单位:万人
在西班牙,“慢食”一直是在人们头脑中_________的饮食观念。与“慢食”一脉相承的是西班牙人“慢生活”的态度:大厦电梯里面没有关门按键,大家都是等待电梯门缓缓关上;和午餐相伴的还有午睡,尤其在西班牙南部最为炎热的地方,小店业主都会在14点到17点之间关
A、 B、 C、 D、 E、 A
设an>0(n一1,2,…)且{an}n=1∞单调减少,又级数的敛散性.
试衡量该信息系统工程项目面临的风险损失总额约为多少?约占合同额总价的百分比为多少?在上述几种可能的风险中,哪种风险可能造成的损失大?
最新回复
(
0
)