首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
在以下程序中,鼠标单击小应用程序的某一点,则会在该点显示一个图标,如果双击,则会清除该图标。且在浏览器的状态栏上会显示鼠标单击位置的坐标。运行结果如下图所示。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。
在以下程序中,鼠标单击小应用程序的某一点,则会在该点显示一个图标,如果双击,则会清除该图标。且在浏览器的状态栏上会显示鼠标单击位置的坐标。运行结果如下图所示。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。
admin
2009-01-15
49
问题
在以下程序中,鼠标单击小应用程序的某一点,则会在该点显示一个图标,如果双击,则会清除该图标。且在浏览器的状态栏上会显示鼠标单击位置的坐标。运行结果如下图所示。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。
注意:不改动程序的结构,不是增行或删行。
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://kaotiyun.com/show/YTnp777K
本试题收录于:
二级Java题库NCRE全国计算机二级分类
0
二级Java
NCRE全国计算机二级
相关试题推荐
在考生文件夹下存在表单文件myform.scx,其中包含一个名为“高度”的标签,文本框Text1,以及一个名为“确定”的命令按钮。打开该表单文件,然后在表单设计器环境下完成如下操作:1.将标签、文本框和命令按钮3个控件设置为顶边对齐。2
在考生文件夹下完成下列操作。为了查询低价机票,请设计一个表单myform.scx,其界面如下图所示:表单控件名为formone,表单的标题为“机票折扣查询”。表单左侧有1个标签控件Labelone用于显永内容“输入折扣”,1个文本框控件
1.在考生文件夹下创建一个名为“订单管理”的数据库,并将已有的employee和orders两个表添加到该数据库中。2.为orders表建立一个按降序排列的普通索引,索引名为je,索引表达式为“金额”。3.在“订单管理”数据库中新建一个
在考生文件夹下有一个名为myform的表单,表单中包含一个列表框和两个命令按钮。请在该表单中完成如下操作:(1)打开表单,设置列表框的数据源(RowSource)和数据源类型(RowSourceType)两个属性。RowSourceTy
在一个空的表单中添加一个选项按钮组控件,该控件可能的默认名称是()。
数据字典(DD)所定义的对象都包含于
下列选项中不符合良好程序设计风格的是
下列关于线性链表的描述中,正确的是()。Ⅰ、只含有一个指针域来存放下一个元素地址Ⅱ、指针域中的指针用于指向该结点的前一个或后一个结点(即前件或后件)Ⅲ、结点由两部分组成:数据域和指针域。
下列关于SQL对表的定义的说法中,不正确的选项是()。
若要获得一个线程的优先级,可以使用方法______,若要修改一个线程的优先级,则可以使用方法______。
随机试题
首选用于治疗尿毒症血虚津亏抽搐的方剂是()
某孕妇,孕36周,在听胎心音时于脐上右侧听得最清楚。则其胎方位可能为
热拌沥青混合料路面应待摊铺层自然降温至表面温度低于()℃后,方可开放交通。
某新建液化石油气加气站(LPG)共有3个储罐,单罐容积为10m3。下列关于加油加气站建筑防火通用要求的说法中,错误的是()
洋流是地球表面热环境的主要调节者。巨大的洋流系统促进了地球高低纬度地区之间的能量交换。下面左图是某海域8月份表层水温分布图。下面右图是北印度洋夏季风示意图。在有些大陆沿海海区会发生涌升流现象。如上面右图所示,①②③④四海区中最有可能出现涌升流的是(
依据《中华人民共和国预防未成年人犯罪法》的规定,下列不属于“严重不良行为”的是()。
根据《国家赔偿法》的规定,国家对行政机关造成当事人财产损失的,对()予以赔偿。
设随机变量X,Y独立同分布,P(x=-1)=P(x-1)=1/2,则()
Whatwillthewomanprobablydo?
Ithenlistenedtotheboy______thepersonwrittenontheblackboard.
最新回复
(
0
)