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
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
Si dessous le code quand je clic droit :
Code :
- public void mouseClicked(MouseEvent e) {
- if (SwingUtilities.isRightMouseButton(e)){
- if (sel != -1)
- figures[sel].deSelectionne();
- sel = -1;
- ((DessinFigures)e.getSource()).removeMouseListener(this);
- ((DessinFigures)e.getSource()).removeMouseMotionListener(this);
- ((DessinFigures)e.getSource()).repaint();
- }
- }
|
Et celle quand je selectionne un bouton autre sur mon interface qui supprime aussi les listener
Code :
- nouvelle.addActionListener(new ActionListener(){
- public void actionPerformed(ActionEvent e){
- ZoneDessin.removeTraceur();
- ZoneDessin.removeConstruit();
- ZoneDessin.removeManipulateur();
- if (ZoneDessin.getSel() != -1)
- ZoneDessin.figureSelection().deSelectionne();
- combo.setEnabled(true);
- repaint();
- ZoneDessin.repaint();
- }
- });
|
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 :
- public void removeManipulateur(){
- System.out.println("Dans le fuckin removeManip" );
- if (sel != -1)
- figures[sel].deSelectionne();
- sel = -1;
- this.removeMouseListener(mf);
- this.removeMouseMotionListener(mf);
- repaint();
- }
|
Auriez vous une idée d'où vient le problème
---------------
[Workblog] Turboost 360 - Topic Achat/Vente - Vend Sony Alpha 230 !