import java.text.*; import java.awt.*; import java.awt.event.*; import javax.swing.*;
public class MouseMovedDemo1 extends JFrame implements MouseMotionListener, ActionListener {
  private int px, py; //マウスのxy座標を保持する変数
  private Timer timer; //タイマー
  private DateFormat df = new SimpleDateFormat("kk:mm:ss.SSS"); //時刻表示用
  public static void main(String[] args) {
    JFrame f=new MouseMovedDemo1();
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    f.setSize(640, 480); f.setVisible(true);
  }
  public MouseMovedDemo1() {
    super();
    addMouseMotionListener(this);
    timer = new Timer(500, this); timer.start();
  }
  public void paint(Graphics g) {
    g.clearRect(0, 0, getWidth(), getHeight());
    g.drawString("(x,y)=(" + this.px + "," + this.py + ")", 50, 50);
    g.drawString("update: " + df.format(new java.util.Date()), 50, 100);
    g.setColor(Color.RED);
    g.fillArc(px, py, 20, 20, 0, 360);
  }
  public void mouseDragged(MouseEvent me){}
  public void mouseMoved(MouseEvent me){
    px = me.getX(); py = me.getY();
  }
  public void actionPerformed(ActionEvent e) {
    repaint();
  }
}