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 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115
| package monpackage;
import java.awt.Cursor;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.MenuItem;
import java.awt.Point;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;
public class ComposantDeplacable extends JPanel implements MouseListener,MouseMotionListener,ActionListener{
public Composant composant;
public int x,y;
public DropZone d;
private JPopupMenu menu;
private JMenuItem editer;
private JMenuItem supprimer;
private JMenuItem connexion;
private JMenuItem connexion1;
private Connecteur con;
public BareEtat be;
private java.awt.event.MouseEvent evt_prec = null;
public ComposantDeplacable(Composant c,DropZone dz,BareEtat b){
composant=c;
d=dz;
setPreferredSize(new Dimension(composant.longueur,composant.largeur));
addMouseListener(this);
addMouseMotionListener(this);
menu=new JPopupMenu();
editer=new JMenuItem("Editer");
supprimer=new JMenuItem("Supprimer");
connexion=new JMenuItem("Initier Connexion");
connexion1=new JMenuItem("Finaliser Connexion");
menu.add(editer);
menu.add(supprimer);
menu.add(connexion);
menu.add(connexion1);
editer.addActionListener(this);
supprimer.addActionListener(this);
connexion.addActionListener(this);
be=b;
}
public void paintComponent(Graphics g){
super.paintComponent(g);
g.drawImage(composant.image, composant.x, composant.y,composant.longueur,composant.largeur,null);
}
@Override
public void mouseDragged(MouseEvent e) {
if (evt_prec == null) {
evt_prec = e;
return;
}
int dX = e.getX() - evt_prec.getX();
int dY = e.getY() - evt_prec.getY();
Point loc = new Point(getLocation().x + dX, getLocation().y + dY);
setLocation(loc);
System.out.println(loc.x+" "+loc.y);
d.ModifPosition(this, loc);
}
@Override
public void mouseMoved(MouseEvent e) {
}
@Override
public void mouseClicked(MouseEvent arg0) {
}
@Override
public void mouseEntered(MouseEvent e) {
be.BareEtatTexte(this.composant.nom);
setCursor(new Cursor(Cursor.HAND_CURSOR));
}
@Override
public void mouseExited(MouseEvent arg0) {
be.BareEtatTexte("");
}
@Override
public void mousePressed(MouseEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void mouseReleased(MouseEvent e) {
if(e.isPopupTrigger()){
menu.show(this, e.getX(), e.getY());
}
}
@Override
public void actionPerformed(ActionEvent e) {
if(e.getActionCommand().equals("Editer")){
JOptionPane.showMessageDialog(null, "Vous avez cliqué sur Editer");
}
if(e.getActionCommand().equals("Supprimer")){
this.setVisible(false);
d.liste.remove(this);
}
if(e.getActionCommand().equals("Initier connexion")){
con.InitierConnexion(this);
}
if(e.getActionCommand().equals("Finaliser connexion")){
con.TerminerConnexion(this);
}
}
} |
Partager