FileDocCategorySizeDatePackage
SmoothMove.javaAPI DocExample1475Mon Apr 05 11:09:06 BST 1999None

SmoothMove

public class SmoothMove extends ApplicationFrame implements MouseMotionListener

Fields Summary
private int
mX
private int
mY
private Image
mImage
Constructors Summary
public SmoothMove()

    super("SmoothMove v1.0");
    addMouseMotionListener(this);
    setVisible(true);
  
Methods Summary
private voidcheckOffscreenImage()

    Dimension d = getSize();
    if (mImage == null ||
        mImage.getWidth(null) != d.width ||
        mImage.getHeight(null) != d.height) {
      mImage = createImage(d.width, d.height);
    }
  
public static voidmain(java.lang.String[] args)

    new SmoothMove();
  
public voidmouseDragged(java.awt.event.MouseEvent me)

 mouseMoved(me); 
public voidmouseMoved(java.awt.event.MouseEvent me)

    mX = (int)me.getPoint().getX();
    mY = (int)me.getPoint().getY();
    repaint();
  
public voidpaint(java.awt.Graphics g)

    // Clear the offscreen image.
    Dimension d = getSize();
    checkOffscreenImage();
    Graphics offG = mImage.getGraphics();
    offG.setColor(getBackground());
    offG.fillRect(0, 0, d.width, d.height);
    // Draw into the offscreen image.
    paintOffscreen(mImage.getGraphics());
    // Put the offscreen image on the screen.
    g.drawImage(mImage, 0, 0, null);
  
public voidpaintOffscreen(java.awt.Graphics g)

    int s = 100;
    g.setColor(Color.blue);
    g.fillRect(mX - s / 2, mY - s / 2, s, s);
  
public voidupdate(java.awt.Graphics g)

 paint(g);