阅读以下说明和JAVA2代码,将应填入(n)处的字句写在对应栏内。 【说明】 以下程序实现了利用鼠标任意移动该圆形的位置,仔细阅读代码和相关注释,将程序补充完整。 【代码6】 import java.awt.*; import ja

admin2009-02-15  27

问题 阅读以下说明和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;

解析
转载请注明原文地址:https://jikaoti.com/ti/VTW7FFFM
0

最新回复(0)