首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
在以下程序中,鼠标单击小应用程序的某一点,则会在该点显示一个图标,如果双击,则会清除该图标。且在浏览器的状态栏上会显示鼠标单击位置的坐标。运行结果如下图所示。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。
在以下程序中,鼠标单击小应用程序的某一点,则会在该点显示一个图标,如果双击,则会清除该图标。且在浏览器的状态栏上会显示鼠标单击位置的坐标。运行结果如下图所示。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。
admin
2009-01-15
40
问题
在以下程序中,鼠标单击小应用程序的某一点,则会在该点显示一个图标,如果双击,则会清除该图标。且在浏览器的状态栏上会显示鼠标单击位置的坐标。运行结果如下图所示。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。
注意:不改动程序的结构,不是增行或删行。
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://jikaoti.com/ti/pxb0FFFM
本试题收录于:
二级Java题库NCRE全国计算机二级分类
0
二级Java
NCRE全国计算机二级
相关试题推荐
在VisualFoxPro中,下面关于属性、方法和事件的叙述错误的是
数据库系统的核心是()。
下面关于创建报表的方法中,错误的是()。
下列选项中,不属于数据管理员(DBA)职责的是()。
在考生文件夹下已有一个菜单文件mymenu.mnx,运行相应的菜单程序时会在当前VFP系统菜单的末尾追加一个“考试”子菜单,如图3-9所示(在菜单设计器环境下,使用“常规选项”命令打开相应对话框,在“位置”中指定“追加”)。在考生文件夹下还有一个表单文
(1)建立数据库ordersmanage.dbc。把自由表employee.dbf和orders.dbf添加到数据库中。(2)打开表单dh.scx,设置标签控件中英文字母的字号为18,保存表单。(3)打开表单dh.scx,为命令按钮“隐藏”添加代码,使
假定一个表单里有一个文本框Text1和一个命令按钮组CommandGroup1。命令按钮组是一个容器对象,其中包含Command1和Command2两个命令按钮。如果要在Command1命令按钮的某个方法中访问文本框的Value属性值,不正确的表达式是
计算结果不是字符串“Teacher”的语句是
对建立良好的程序设计风格,下面描述正确的是()。
Java中的字符输出流都是抽象类_____________的子类。
随机试题
结合材料回答问题:材料1推动构建人类命运共同体,是习近平总书记着眼人类发展、深刻把握世界大势提出的中国理念和中国方案,充分体现了中国作为一个负责任大国把自身发展同世界发展紧密联系的博大胸怀和务实担当。《习近平谈治国理政》第三卷中,专设“携手构建人类命运
网络拓扑结构
阴虚潮热,可出现( )。阳明潮热,可出现( )。
图6-33中,水平不透水层上的细沙含水层渗透系数k,两廊道中水位为h、h,相距l,则单宽渗流流量q是()。
有关工作程序的术语有( )。
对工程造价指数说法正确的是()。
参加期货从业人员资格考试的人员,应当符合的条件是()。
企业在为保证主营业务的现金需求时,为使这些现金获得最大收益,可以投资于()。
美国著名管理学家赫伯特·西蒙指出:“决策是管理的心脏,管理是由一系列决策组成的,管理就是决策。”这实际上意味着()。
向项目组组员发一个讨论项目进度的通知的E-mail,并抄送部门经理汪某某。具体如下:收件人为:panwd@mail.home.com.cn;抄送为:wangjl@mail.home.com.cn;主题为:通知;函件内容为:“各位组员:定于本月10日在公司
最新回复
(
0
)