首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
在以下程序中,鼠标单击小应用程序的某一点,则会在该点显示一个图标,如果双击,则会清除该图标。且在浏览器的状态栏上会显示鼠标单击位置的坐标。运行结果如下图所示。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。
在以下程序中,鼠标单击小应用程序的某一点,则会在该点显示一个图标,如果双击,则会清除该图标。且在浏览器的状态栏上会显示鼠标单击位置的坐标。运行结果如下图所示。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。
admin
2009-01-15
79
问题
在以下程序中,鼠标单击小应用程序的某一点,则会在该点显示一个图标,如果双击,则会清除该图标。且在浏览器的状态栏上会显示鼠标单击位置的坐标。运行结果如下图所示。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。
注意:不改动程序的结构,不是增行或删行。
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class Example3_1 extends Applet
{
int xPoint, yPoint;
int sum;
Image displayIm;
public void init()
{
displayIm = getImage("ms.jpg");
addMouseListener(new SClickMouse()) ;
sum = 2;
}
public void paint(Graphics g)
{
if(sum == 1)
g.drawImage(displayIm, xPoint, yPoint, this);
else
g.fillRect(xPoint, yPoint, 60, 60);
}
public class SClickMouse implements MouseListener
{
public void mouseClicked(MouseEvent mouse)
{
sum = mouse.getClickCount();
xPoint = mouse.getX();
yPoint = mouse.getY();
paint();
}
public void mouseEntered(MouseEvent mouse)
{
}
public void mouseExited(MouseEvent mouse)
{}
public void mousePressed(MouseEvent mouse)
{
xPoint = mouse.getX();
yPoint = mouse.getY();
showStatus("x="+xPoint+",y-"+yPoint);
}
public void mouseReleased(MouseEvent mouse)
}
}
}
}
Exampie3_1.html:
<html>
<head><title>Example3_1</title></head>
<body>
<applet code="Example3_1.class" width="400" height="500">
</applet>
</body>
</html>
选项
答案
①displayIm=getImage(getDocumentBase(),"ms.jpg") 第一处也可改作displayIm=getImage(getCodeBase(),"ms.jpg") ②g.clearRect(xPoint,yPoint,60,60) ③repaint()
解析
Applet获得图像有两种方式,一种是 getImage(URL url),另一种是getImage(URL url, String name)。init()方法用来初始化小应用程序,首先是将图像文件读入内存,然后为小应用程序添加鼠标点击事件。paint()方法向页面绘制图像,题中的if-else语句表示用户单击鼠标则在鼠标单击的位置显示图片,用户多次点击鼠标,则清除该点右下方长宽均为60的矩形区域内的图像。SClickMouse实现了鼠标监听器。mouseClicked中获取鼠标点击的位置和点击的次数。mousePressed方法获得鼠标按下的坐标,并将坐标值显示在状态栏中。
第一种方法所使用的URL必须是包含图像文件名的绝对URL,所以本处不能填使用文件名作参数。采用第二种获得图像的方式时,如果图像和Applet在同一文件夹可使用 getCodeBase()获得相应的URL,当图像和 Applet所属的HTML文件在同一文件夹时,可以采用getDocumentBase()获得相应的URL。所以第一个错误可以改为getDocument Base(),也可以改为getCodeBase()。
第二处错误,Graphics对象作图时,可以使用 clearRect()方法清除某一个区域的图形,而 fillRect()方法只是根据当前颜色(本题中为黑色)画出一个实心矩形。在程序要求Applet绘制图形时,只能调用repaint()方法,此方法会自动调用paint()方法。故第三个错误应该改成 repaint()方法。
转载请注明原文地址:https://www.kaotiyun.com/show/YTnp777K
本试题收录于:
二级Java题库NCRE全国计算机二级分类
0
二级Java
NCRE全国计算机二级
相关试题推荐
在VisualFoxpro中,可视类库文件的扩展名是
1.在考生文件夹下打开数据库文件“大学管理”,为其中的“课程表”和“教师表”分别建立主索引和普通索引,字段名和索引名均为“课程号”。2.打开one.prg文件,修改其中的一处错误,使程序执行的结果是在屏幕上显示:5432
1.在考生文件夹下已有表单文件formone.scx,其中包含两个标签、一个组合框和一个文本框.如下图所示。按要求完成相应的操作,使得当表单运行时,用户能够从组合框选择职员,并且该职员所签订单的平均金额能自动显示在文本框里。(1)将o
在考生文件夹下,打开“宾馆”数据库,完成如下简单应用:1.使用查询设计器设计一个名为TWO的查询文件,查询房价价格大于等于280元的每个客房的客房号、类型号(取自客房表)、类型名和价格。查询结果按类型号升序排列,并将查询结果输出到表TABB中。设
在考生文件夹下,完成如下操作:1.打开考生文件夹下的表单one,如下图所示,编写“显示”命令按钮的Click事件代码,使表单运行时单击该命令按钮则在Text1文本框中显示当前系统日期的年份(提示:通过设置文本框的Value属性实现,系统日期函数是
在表单设计阶段,以下说法正确的是()。
下列不属于软件工程3个要素的是()。
把一个项目编译成一个应用程序时,下面的叙述正确的是()。
关于内存变量的调用,下列说法错误的是()。
若要获得一个线程的优先级,可以使用方法______,若要修改一个线程的优先级,则可以使用方法______。
随机试题
患者,女性,32岁。反复胸闷气急,咳嗽,查体:心界稍大,心率100次/分,律齐,S1增强,P2亢进,可闻及开瓣音,心尖部可闻及舒张中晚期隆隆样杂音。既往有“游走性关节炎”病史。为进一步确诊,应首先考虑的检查是
十二经脉的循行有各自的分布特点,其中手足阳明经交接于()。
【2004年真题】进行对象的选择是价值工程活动的关键环节之一,适用于价值工程对象选择的方法是()。
货物进出口差额在《国际收支平衡表中》的()中的差额栏反映。
下列人员或机构不可以作为隐匿、销毁财会凭证罪的主体的是()。
根据以下资料,回答下列题。注:照明用电收费为0.3元/千瓦时,其他各项用电收费为0.9元/千瓦时。该单位7月份用电量的比值接近6:1的是()。
独家新闻
我国在社会主义改造中对资本主义工商业采取的政策是()
随着计算机应用范围的扩大,如何确保计算机的安全性显得日益重要。在常用的对文件进行安全性管理的措施中,(18)的主要任务是不允许未经核准的用户进入系统;(19)是通过系统管理员或文件主对文件属性的设置,来控制用户对文件访问。
______thefinancialmeanstoremainindependent,ThomasEdisonwascompelledtoseekemploymentasanighttelegraphoperator.
最新回复
(
0
)