1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
| import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionListener;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JColorChooser;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Dessin extends JPanel {
private static final long serialVersionUID = -201260506438934324L;
Color couleur = Color.white;
BufferedImage image;
JLabel label;
public Dessin(){
try {
image = ImageIO.read(new File("C:\\Images\\cochon.jpg"));
} catch (IOException e) {
System.err.println("Fichier invalide");
}
setBackground(Color.white);
setLayout(null); // pour pouvoir placer la vignette exactement là où je la veux
label = new Vignette (image);
add(label);
}
/* la classe Vignette est un JLabel qui réagit à la souris supporte une image
* représentant pour l'exemple un cochon */
class Vignette extends JLabel implements MouseMotionListener {
public Vignette(BufferedImage image) {
super(new ImageIcon(image));
setBounds(0, 0, image.getWidth(), image.getHeight());
setName("cochon");
addMouseMotionListener(this);
System.out.println("largeur = " + image.getWidth() + "\t hauteur = " + image.getHeight());
}
public void mouseDragged(MouseEvent e) {
e.getComponent().setBounds(e.getX(), e.getY(), image.getWidth(), image.getHeight());
System.out.println(e.getComponent().getName() + "\t x=" + e.getX() + "\t y=" + e.getY());
}
public void mouseMoved(MouseEvent e) {
// méthode obligatoire que je laisse volontairement vide
}
}
} |
Partager