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 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
| import javax.swing.ImageIcon;
import javax .swing.JPanel;
import java.awt.event.MouseEvent;
import java.awt.Graphics;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseMotionAdapter;
import java.awt.Point;
import java.awt.Color;
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
public class ImagePanel extends JPanel{
ImageIcon image = new ImageIcon("./image.png");
final int imgLargeur = image.getIconWidth();
final int imgHauteur = image.getIconHeight();
Point imgCorner;
Point previousPoint;
boolean objetClicked = false;
ImagePanel(){
int x=0;
int y=0;
imgCorner = new Point(x,y);
ClickListener clickListener = new ClickListener();
this.addMouseListener(clickListener);
DragListener dragListener = new DragListener();
this.addMouseMotionListener(dragListener);
/**imgCorner = new Point(x,y);
System.out.println(imgCorner);
/**affiche les coordonnées du point en haut à gauche**/
}
public void ligne_horizontale(Graphics g){
for (int i=0;i<4;i=i+imgHauteur){
g.setColor(Color.BLACK);
g.drawLine(100+imgHauteur,100,100+imgHauteur,400);
}
}
public void ligne_verticale(Graphics g){
for (int i=0;i<4;i=i+imgLargeur){
g.drawLine(100,100+imgLargeur,100,100+imgLargeur);
g.setColor(Color.BLACK);
}
}
public void paintComponent(Graphics g){
for (int i=0;i<3;i++){
imgCorner=Point (x+i*120,y+i*120);
super.paintComponent(g);
image.paintIcon(this, g,imgCorner.x,imgCorner.y);
}
}
private class ClickListener extends MouseAdapter
{
public void mousePressed(MouseEvent event)
{
objetClicked = true;
}
public void mouseReleased(MouseEvent event)
{
objetClicked = false;
}
}
private class DragListener extends MouseMotionAdapter
{
public void mouseDragged(MouseEvent event)
{
if(objetClicked)
{
imgCorner.setLocation(event.getPoint());
imgCorner.x -= imgHauteur/2;
imgCorner.y -= imgLargeur/2;
repaint();
}
}
}
} |
Partager