首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下面是一个Applet程序,其功能是在绘图区域中通过鼠标的移动来绘制直线,并且有清除绘图区域按钮,用来清除已经绘制的图像。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 程序运行结果
下面是一个Applet程序,其功能是在绘图区域中通过鼠标的移动来绘制直线,并且有清除绘图区域按钮,用来清除已经绘制的图像。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 程序运行结果
admin
2013-02-25
99
问题
下面是一个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全国计算机二级
相关试题推荐
考生文件夹下存在一个文件“PY101.py”,请写代码替换横线,不修改其他代码,实现以下功能。用键盘输入正整数n,按要求把n输出到屏幕。格式要求:宽度为25个字符,等号字符(=)填充,右对齐,带千位分隔符。如果输入的正整数超过25位,则按照真实长度输出。
下面描述正确的是()。
以下关于字符串类型的操作的描述,正确的是()。
以下程序的输出结果应该是()。 ls=[[0,1],[5,6],[7,8]] lis=[] foriinrange(len(ls)): lis.append(ls[i][1]) print(lis
以下关于Python循环结构的描述中,错误的是()。
以下关于Python分支结构的描述中,错误的是()。
以下方法能返回列表数据类型的是()。
如果指令中的地址码部分直接给出了操作数,则称为()。
下列关于冯·诺依曼结构的计算机硬件组成方式描述中正确的是()。
关键字super的作用是()。
随机试题
合谷穴主治包括()。
《摸鱼儿》下片所借用的典故有
使原系统的变化率减小,使系统接近平衡态的反馈是______反馈。
女,19岁。因发热倦头痛、烦躁2天,于1月28日入院。查体:血压130/80mmHg,精神差,神志清楚,全身散在瘀点、瘀斑,颈抵抗阳性,Kernig征及Babinski征均阳性。实验室检查:腰穿脑脊液压力240mmH2O,外观混浊,WBCl200×106/
试述合同保全中的代位权。[中山大学2017年研]
公路建设必须招标的项目有()。
依据《中华人民共和国循环经济促进法》中的“循环经济”是指在()等过程中进行的减量化、再利用资源化活动的总称。
A储运公司仓储区占地面积为90000m2,共有8个库房,原用于存放一般货物。3年前,该储运公司未经任何技术改造和审批,擅自将1号、4号和6号库房改存危险化学品。2016年3月14日12时18分,仓储区4号库房内首先发生爆炸,12min后,6号库房也发生
下列关于刑事拘留的表述,正确的是()。
求
最新回复
(
0
)