Java tutorial
import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Image; import java.awt.Toolkit; import java.awt.event.MouseEvent; import java.awt.event.MouseMotionListener; import javax.swing.JComponent; import javax.swing.JFrame; import javax.swing.RepaintManager; public class Main extends JComponent implements MouseMotionListener { static int imageWidth = 60, imageHeight = 60; int imageX, imageY; Image image; public Main(Image i) { image = i; addMouseMotionListener(this); } public void mouseDragged(MouseEvent e) { imageX = e.getX(); imageY = e.getY(); repaint(); } public void mouseMoved(MouseEvent e) { } public void paint(Graphics g) { Graphics2D g2 = (Graphics2D) g; g2.drawImage(image, imageX, imageY, this); } public static void main(String[] args) { String imageFile = "A.jpg"; RepaintManager.currentManager(null).setDoubleBufferingEnabled(false); Image image = Toolkit.getDefaultToolkit().getImage(Main.class.getResource(imageFile)); image = image.getScaledInstance(imageWidth, imageHeight, Image.SCALE_DEFAULT); JFrame frame = new JFrame("DragImage"); frame.getContentPane().add(new Main(image)); frame.setSize(300, 300); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } }