[interface] Déplacement du double de pixel

Déplacement du double de pixel [interface] - Java - Programmation

Marsh Posté le 06-06-2011 à 17:16:58    

Bonjour,
 
Je développe actuellement un genre de paint et je suis confronté à un problème :
 
Après avoir crée une figure géométrique je peux la déplacer sans problème.
Mais après en avoir crée une deuxième , si je déplace celle-ci ma figure bouge du double de pixel par rapport au déplacement de ma souris  :ouch:  
 
Ce qui est étonnant c'est que si je clic droit pour supprimer tout les mouselistener , et re-selectionne le bouton qui me permet de faire bouger mes figures ça remarche normalement  :pt1cable:  
 
 
Si dessous le code quand je clic droit :

Code :
  1. public void mouseClicked(MouseEvent e) {
  2. if (SwingUtilities.isRightMouseButton(e)){
  3.    if (sel != -1)
  4.     figures[sel].deSelectionne();
  5.    sel = -1;
  6.    ((DessinFigures)e.getSource()).removeMouseListener(this);
  7.    ((DessinFigures)e.getSource()).removeMouseMotionListener(this);
  8.    ((DessinFigures)e.getSource()).repaint();
  9.   }
  10. }


 
Et celle quand je selectionne un bouton autre sur mon interface qui supprime aussi les listener

Code :
  1. nouvelle.addActionListener(new ActionListener(){
  2.   public void actionPerformed(ActionEvent e){
  3.    ZoneDessin.removeTraceur();
  4.    ZoneDessin.removeConstruit();
  5.    ZoneDessin.removeManipulateur();
  6.    if (ZoneDessin.getSel() != -1)
  7.     ZoneDessin.figureSelection().deSelectionne();
  8.    combo.setEnabled(true);
  9.    repaint();
  10.    ZoneDessin.repaint();
  11.   }
  12.  });


 
nouvelle est le nom de mon JRadioButton
ZoneDessin est une instance de ma classe permettant de créer les figures qui hérite de JPanel
 
la fonction removeManipulateur:

Code :
  1. public void removeManipulateur(){
  2.  System.out.println("Dans le fuckin removeManip" );
  3.  if (sel != -1)
  4.   figures[sel].deSelectionne();
  5.  sel = -1;
  6.  this.removeMouseListener(mf);
  7.  this.removeMouseMotionListener(mf);
  8.  repaint();
  9. }


 
Auriez vous une idée d'où vient le problème  :??:


---------------
[Workblog] Turboost 360 - Topic Achat/Vente - Vend Sony Alpha 230 !
Reply

Marsh Posté le 06-06-2011 à 17:16:58   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed