阅读以下说明和JAVA2代码,将应填入(n)处的字句写在对应栏内。【说明】 以下程序实现了利用鼠标任意

5 查阅

阅读以下说明和JAVA2代码,将应填入(n)处的字句写在对应栏内。

【说明】

以下程序实现了利用鼠标任意移动该圆形的位置,仔细阅读代码和相关注释,将程序补充完整。

【代码6】

import java.awt.*;

import java.awt.event.*;

public class CIUSAMPLE extends Frame. implements MouseMotionListener, MouseListener

{

static CIUSAMPLE frm=new CIUSAMPLE ();

int x=70,y=60,posX=70,posY=60,dx,dy;

public static void main ( String args[])

{

frm.setTitle ("Dragging a circle");

frm.setSize ( 200,150 );

(1)

frm.addMouseMotionListener ( frm );

frm. setVisible ( true );

}

public void mousePressed ( MouseEvent e )

{

(2)

dy=e.getY () -posY;

}

public void mouseDragged ( MouseEvent e )

{

(3)

y=e.getY () -dy;

if ( dx>0 && dx<50 && dy>0 && dy<50 ) //如果指我落在正方形区域内

{

Graphics g=getGraphics ();

(4)

}

}

public void paint ( Graphics g )

{

g.setColor ( Color. pink ); // 设置绘图颜色为粉红

g.fillOval ( x,y,50,50 ); //以基准点为图形的左上角绘出圆形

(5)

posY=y;

}

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)实现了对鼠标位置的检测; (2)取得鼠标按下的点与基准点X方向的距离;(3)取得拖曳时的基准点的X坐标;(4)清空画面为背景颜色;(5)更新基准点的X坐标。 (1) frm.addMouseListener(frm); (2) dx=e.getX()-posX; (3) x=e.getX()-dx; (4) update(g); (5) posX=x;题目中的程序实现了利用鼠标任意移动该圆形的位置。分析代码可知:(1)

软考初级