首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下面是一个Applet程序,其功能是在绘图区域中通过鼠标的移动来绘制直线,并且有清除绘图区域按钮,用来清除已经绘制的图像。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 程序运行结果
下面是一个Applet程序,其功能是在绘图区域中通过鼠标的移动来绘制直线,并且有清除绘图区域按钮,用来清除已经绘制的图像。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 程序运行结果
admin
2013-02-25
78
问题
下面是一个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://www.kaotiyun.com/show/8R2p777K
本试题收录于:
二级Java题库NCRE全国计算机二级分类
0
二级Java
NCRE全国计算机二级
相关试题推荐
获得用户输入的以逗号分隔的3个数字:a、b、c,以a为起始数值,b为差,c为数值的数量,产生一个递增的等差数列,将这个数列以列表格式输出,请完善“PY103.py”中代码。试题程序:#请在________处使用一行代码或表达式替换#注意:请不要修改其
设str1=’*@python@*’,语句print(str1[2:].strip(’@’))的执行结果是()。
以下关于函数作用的描述中,错误的是()。
下面描述错误的是()。
以下程序的输出结果是()。 ls1=[1,2,3,4,5] ls2=ls1 ls2.reverse() print(ls1)
定义学生、教师和课程的关系模式STC(SNO,SN,SA,TN,CN,G),其中的6个属性分别为学生的学号、学生的姓名、年龄、教师的姓名、课程名以及学生的成绩,则该关系为()。
下列叙述中错误的是()。
以下不属于Python数据分析和可视化处理第三方库的是()。
下列Applet实现键盘事件处理,当一个键按下时,判断是否为26个英文字母,并输出该字母。选择正确的语句填入横线处。importjava.applet.Applet;importjava.awt.*;importj
______日历类提供日期和时间的表示,它以格列高利历(即阳历)来计算。
随机试题
24岁男性患者,因骨骼疼痛半年就诊,查尿pH8.2,血钾3.1mmol/L,血钙1.7mmol/L,血pH7.34,血氯112mmol/L,B超示双肾钙化。最可能的诊断为
折断后有银白色胶丝的是
心悸最常见的是哪种心律失常导致的
以下关于记名股票和不记名股票区别说法错误的是()。
银行开展债券投资业务面临市场风险、操作风险,但不会有信用风险。()
在常用的几种班级管理模式中,源于美国管理学家德鲁克提出的管理模式是()。
椎实螺外壳的螺旋方向有左旋和右旋两种,右旋对左旋是显性。利用椎实螺进行杂交试验,当右旋♀×左旋♂时F1代为右旋;当左旋♀×右旋♂时,F1代为左旋;则椎实螺外壳螺旋方向的遗传属于()。
根据心理学家韦纳的归因理论,下列四种情况中属于内部的、不稳定的、可控归因因素的是()
设a1=1,当n≥1时.an+1=,证明:数列{an}收敛并求其极限.
Shopperswhohaveflockedtoonlinestoresfortheirholidayshoppingarelosingprivacywitheverymouseclick,accordingtoa
最新回复
(
0
)