A-A+

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

2022-08-06 00:36:19 问答库 阅读 173 次

问题详情

阅读以下说明和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)实现了对鼠标位置的检测; (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;

考点:字句,代码