首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下面是一个Applet程序,其功能是在绘图区域中通过鼠标的移动来绘制直线,并且有清除绘图区域按钮,用来清除已经绘制的图像。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 程序运行结果
下面是一个Applet程序,其功能是在绘图区域中通过鼠标的移动来绘制直线,并且有清除绘图区域按钮,用来清除已经绘制的图像。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 程序运行结果
admin
2013-02-25
35
问题
下面是一个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全国计算机二级
相关试题推荐
关于表达式id(’45’)的结果的描述,错误的是()。
以下程序的输出结果是()。a=10b=1try:c=b//(b/a)print(C)except(IOError,ZeroDivisionError):print(”calculat
在Python中,不能作为变量名的是()。
以下构成Python循环结构的方法中,正确的是()。
设栈的存储空间为s(1:m),初始状态为top=m+1。经过一系列入栈与出栈操作后,top=1。现又要将一个元素入栈,栈顶指针top值变为()。
某二叉树的前序序列为ABCDEFG,中序序列为DCBAEFG,则该二又树的深度(根节点在第1层)为()。
如果有一个类MyFrame是Frame的子类,能够被不同包中的类所使用,请写出该类的声明头:【】。
Java语言中,—卜列标识符错误的是()。
在关系代数中,对一个关系投影操作以后,新关系的元组个数跟原来关系的元组个数相比()。
对于catch子句的排列,下列()是正确的。
随机试题
检查梅毒最好采集的标本是()
接地体的连接应采用搭接焊,其扁钢的搭接长度应为()。
能耗指标包括()
某公司承担了一项通信基站设备工程,主要工作量包括120个宏站和240个微站设备安装,合同约定:4月1日开工,6月30日前完工,建设单位在7月10日完成初验,10月15日前完成竣工验收,11月1日办理竣工验收备案手续。项目部指定了进度计划和成本预算:(1
建设工程施工安全控制的危险源主要包括()。
下列关于凭证操作正确的有()。
特约日交割是指双方达成交易后()
(2014联考46)英语目前是世界上不同语言群体之间进行交流的主要方式。这种交流是文化间的知识交流,它的______是存在着分离的文化。换句话说,作为通用语言的英语是处理语言差异和文化差异的方式,而不是______它们的方式。依次填入画横线部分最恰当的一项
1973年,某企业生产的玩具产品“芭比娃娃”由于式样陈旧、价格昂贵等原因而严重滞销,企业濒临破产。很多员工建议放弃生产“芭比娃娃”而转产,但一位年轻人极力反对并建议为“失败产品”创办博物馆。“这绝对不行,这不是自曝家丑吗?”企业总裁立即明确表示反对。但这
A、Therehasbeenasteadygrowth.B、AlluniversitiesbegintoofferdegreecoursesinChinesemedicine.C、Manypeoplehavefound
最新回复
(
0
)