怎么做一个程序,返回鼠标在图片上的坐标,鼠标移动的时候返回的坐标也改变。
我知道有一个void mouseEntered(MouseEvent e),但是鼠标进入图片的时候它就执行一次而已。

解决方案 »

  1.   

    参考这个 http://www.java2000.net/p7767Java中的鼠标和键盘事件
    1、使用MouseListener借口处理鼠标事件
    鼠标事件有5种:按下鼠标键,释放鼠标键,点击鼠标键,鼠标进入和鼠标退出
    鼠标事件类型是MouseEvent,主要方法有:
    getX(),getY() 获取鼠标位置
    getModifiers() 获取鼠标左键或者右键
    getClickCount() 获取鼠标被点击的次数
    getSource() 获取鼠标发生的事件源
    事件源获得监视器的方法是addMouseListener(),移去监视器的方法是removeMouseListener()
    处理事件源发生的时间的事件的接口是MouseListener 接口中有如下的方法
    mousePressed(MouseEvent) 负责处理鼠标按下事件
    mouseReleased(MouseEvent) 负责处理鼠标释放事件
    mouseEntered(MouseEvent) 负责处理鼠标进入容器事件
    mouseExited(MouseEvent) 负责处理鼠标离开事件
    mouseClicked(MouseEvent) 负责处理点击事件
    2、使用MouseMotionListener接口处理鼠标事件
    事件源发生的鼠标事件有2种:拖动鼠标和鼠标移动
    鼠标事件的类型是MouseEvent
    事件源获得监视器的方法是addMouseMotionListener()
    处理事件源发生的事件的接口是MouseMotionListener 接口中有如下的方法
    mouseDragged() 负责处理鼠标拖动事件
    mouseMoved() 负责处理鼠标移动事件
    3、控制鼠标的指针形状
    setCursor(Cursor.getPreddfinedCursor(Cursor.鼠标形状定义)) 鼠标形状定义见(书 P 210)
    4、键盘事件
    键盘事件源使用addKeyListener 方法获得监视器
    键盘事件的接口是KeyListener 接口中有3个方法
    public void keyPressed(KeyEvent e) 按下键盘按键
    public void keyReleased(KeyEvent e) 释放键盘按键
    public void keyTypde(KeyEvent e) 按下又释放键盘按键 
      

  2.   

    参考这个 http://www.java2000.net/p7767Java中的鼠标和键盘事件
    1、使用MouseListener借口处理鼠标事件
    鼠标事件有5种:按下鼠标键,释放鼠标键,点击鼠标键,鼠标进入和鼠标退出
    鼠标事件类型是MouseEvent,主要方法有:
    getX(),getY() 获取鼠标位置
    getModifiers() 获取鼠标左键或者右键
    getClickCount() 获取鼠标被点击的次数
    getSource() 获取鼠标发生的事件源
    事件源获得监视器的方法是addMouseListener(),移去监视器的方法是removeMouseListener()
    处理事件源发生的时间的事件的接口是MouseListener 接口中有如下的方法
    mousePressed(MouseEvent) 负责处理鼠标按下事件
    mouseReleased(MouseEvent) 负责处理鼠标释放事件
    mouseEntered(MouseEvent) 负责处理鼠标进入容器事件
    mouseExited(MouseEvent) 负责处理鼠标离开事件
    mouseClicked(MouseEvent) 负责处理点击事件
    2、使用MouseMotionListener接口处理鼠标事件
    事件源发生的鼠标事件有2种:拖动鼠标和鼠标移动
    鼠标事件的类型是MouseEvent
    事件源获得监视器的方法是addMouseMotionListener()
    处理事件源发生的事件的接口是MouseMotionListener 接口中有如下的方法
    mouseDragged() 负责处理鼠标拖动事件
    mouseMoved() 负责处理鼠标移动事件
    3、控制鼠标的指针形状
    setCursor(Cursor.getPreddfinedCursor(Cursor.鼠标形状定义)) 鼠标形状定义见(书 P 210)
    4、键盘事件
    键盘事件源使用addKeyListener 方法获得监视器
    键盘事件的接口是KeyListener 接口中有3个方法
    public void keyPressed(KeyEvent e) 按下键盘按键
    public void keyReleased(KeyEvent e) 释放键盘按键
    public void keyTypde(KeyEvent e) 按下又释放键盘按键 
      

  3.   

    mouseMoved() 
    然后getX();getY();
    得到坐标,当坐标符合你设置的时候让它执行,这样不是很好?
    其实好好消化下楼上的东西  对你很有帮助的
      

  4.   

    js获取鼠标坐标,支持IE和firfox
    代码如下: 
    <script>    
    function m(evt)    
        {     
            x=evt.clientX ;    
            y=evt.clientY;     
        }    
    </script>    
    <body onMousemove="m(event)">    
    </body>  
    此文章来源地址:http://www.webkaifa.com/forumThreadManageAction.do?method=lookThreadDetail&currentPage=1&topicId=187
      

  5.   

    题:js获取鼠标坐标,支持IE和firfox
    代码如下: 
    <script>    
    function m(evt)    
        {     
            x=evt.clientX ;    
            y=evt.clientY;     
        }    
    </script>    
    <body onMousemove="m(event)">    
    </body>  
    此文章来源地址:http://www.webkaifa.com/forumThreadManageAction.do?method=lookThreadDetail&currentPage=1&topicId=187
      

  6.   

    给你俩个程序,照着写吧:
    import java.awt.*;
    import java.awt.event.*;
    import java.util.*;
    import java.awt.geom.*;
    import javax.swing.*;public class newCursorDemo2
    {
       public static void main(String[] args)
       {
          EventQueue.invokeLater(new Runnable()
             {
                public void run()
                {
                   MouseFrame frame = new MouseFrame();
                   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                   frame.setVisible(true);
                }
             });
       }
    }
    class MouseFrame extends JFrame
    {
       public MouseFrame()
       {
          setTitle("CursorTest");
          setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);      MouseComponent component = new                        MouseComponent();
          add(component);
       }
             public static final int DEFAULT_WIDTH = 200;
       public static final int DEFAULT_HEIGHT = 200;
    }
    class MouseComponent extends JComponent
    {
       public MouseComponent()
       {
          
          addMouseMotionListener(new                                                       MouseMotionHandler());
       }    private class MouseMotionHandler implements                    MouseMotionListener
       {
          public void mouseMoved(MouseEvent event)
          {
             
             if (event.getX() >100) setCursor                                            (Cursor.getDefaultCursor());
             else setCursor(Cursor.getPredefinedCursor                                      (Cursor.CROSSHAIR_CURSOR));
          }
          public void mouseDragged(MouseEvent event)
               {System.out.println("www.xinshuguang.org");}
      }
    }
    以上是第一个
    import java.awt.*;
    import java.awt.event.*;
    import java.util.*;
    import java.awt.geom.*;
    import javax.swing.*;public class MouseTest6
    {
       public static void main(String[] args)
       {
          EventQueue.invokeLater(new Runnable()
             {
                public void run()
                {
                   MouseFrame frame = new MouseFrame();
                   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                   frame.setVisible(true);
                }
             });
       }
    }class MouseFrame extends JFrame
    {
       public MouseFrame()
       {
          setTitle("MouseTest");
          setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);      // add component to frame      MouseComponent component = new MouseComponent();
          add(component);
       }   public static final int DEFAULT_WIDTH = 200;
       public static final int DEFAULT_HEIGHT = 200;
    }class MouseComponent extends JComponent
    {
       public MouseComponent()
       {
         
          addMouseListener(new MouseHandler());
          
       }
    private class MouseHandler extends MouseAdapter
       {
                public void mouseClicked(MouseEvent event)
          {
            
             System.out.println(event.getPoint());
             
       }
    }
    }
    更多内容,请看视频