A-A+

阅读以下说明和JAVA 2代码 将应填入(n)处的字句写在对应栏内。 [说明]以下程序实现了

2022-08-05 20:18:16 问答库 阅读 171 次

问题详情

阅读以下说明和JAVA 2代码,将应填入(n)处的字句写在对应栏内。
[说明]
以下程序实现了在applet里移动图形文件,仔细阅读代码和相关注释,将程序补充完整。
[代码6-1]
import j ava. awt. *;
import j ava.awt.event.*;
import java.applet. Applet;
public class AppCIU extends Applet implements MouseMotionListener, MouseListener
{
Image IMG nClick=over(this) title=放大; // 声明 Image 类类型的变量 IMG nClick=over(this) title=放大
int x=70,y=60,posX=70,posY=60,dx,dy;
public void init ()
{
IMG nClick=over(this) title=放大=getImage (getCodeBase () ,"mouse.gif" ); //载入影像
addMouseListener (this );
addMouseMotionListener (this );
}
public void mousePressed (MouseEvent e )
{
dx=e.getX()-posX; //取得按下之点与基准点X方向的距离
dy=e.getY()-posY; //取得按下之点与基准点Y方向的距离
}
public void mouseDragged (MouseEvent e )
{
(1)
(2)
if (dx>0 && dx<120 && dy>0 && dy<60 ) //如果指针落在图形上方
{
Graphics g=getGraphics ();
(3)
}
}
public void paint (Graphics g )
{
(4)
(5)
(6)
}
public void mouseMoved (MouseEvent e ) {};
public void mouseReleased (MouseEvent e ) {};
public void mouseEntered (MouseEvent e ) {};
public void mouseExited (MouseEvent e ) {};
public void mouseClicked (MouseEvent e ) {};
}请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:(1)x=e.getX()-dx;(2)y=e.getY()-dy;(3)update(g);(4)g.drawImage(IMG onClick=over(this) title=放大xy12060this);(5)posX=x;(6)posY=y;注:其中(1)和(2)可互换。(5)和(6)可互换。
(1)x=e.getX()-dx;(2)y=e.getY()-dy;(3)update(g);(4)g.drawImage(IMG nClick=over(this) title=放大x,y,120,60,this);(5)posX=x;(6)posY=y;注:其中(1)和(2)可互换。(5)和(6)可互换。 解析:本题程序实现了在applet里移动图形文件。对于(1)为取得拖曳时基准点的X坐标[x=e.getX()-dx]; (2)取得拖曳时基准点的Y坐标[y=e.getY()-dy];(3)清空画面为背景颜色,再调用paint()[update(g)]; (4)将IMG nClick=over(this) title=放大画在applet上[g.drawImage(IMG nClick=over(this) title=放大,x,y,120,60,this);];(5)更新基准点的X坐标[posX=x;];(6)更新基准点的Y坐标[posY=y;]。

考点:字句,代码