Java AWT Image load from file

Description

Java AWT Image load from file

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 {
   public static void main(String[] args) {
      int imageWidth = 60, imageHeight = 60;
      String imageFile = "icon.png";

      RepaintManager.currentManager(null).setDoubleBufferingEnabled(false);

      Image image = Toolkit.getDefaultToolkit().getImage(DragImage.class.getResource(imageFile));
      image = image.getScaledInstance(imageWidth, imageHeight, Image.SCALE_DEFAULT);
      //from ww  w  .  ja  v  a2s . co  m
      JFrame frame = new JFrame("DragImage");
      frame.getContentPane().add(new DragImage(image));
      frame.setSize(300, 300);
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      frame.setVisible(true);
   }
}

class DragImage extends JComponent implements MouseMotionListener {

   int imageX, imageY;

   Image image;

   public DragImage(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);
   }

}



PreviousNext

Related