Bonjour,
j'ai un composant graphique (contenant plein d'autre composants), pour reduire l'espace mémoire sollicité à chaque fois qu je déplace ce composant j'ai pensé à en faire une image et seulement a déplacer cette image, puis réaffecter mon composant à ma nouvelle place.

Le probleme vient du fait que je récupère bien un mouvement sur l'image, mais pas un 'dragged' sur l'image ?

voici le code de mon image et de ses listener :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
  private class MyImage extends JPanel {
    private Image image;
    public MyImage(Image image) {
      this.image = image;
      addMouseListener(getMouseListener());
      addMouseMotionListener(getMouseMotionListener());
    }
 
    protected void paintComponent(Graphics g) {
      super.paintComponent(g);
      Graphics2D graphics2D = (Graphics2D) g;
      graphics2D.drawImage(image, 0, 0, image.getWidth(null), image.getHeight(null), null);
    }
  }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
  private MouseMotionListener getMouseMotionListener() {
    return new MouseMotionListener() {
 
      public void mouseMoved(MouseEvent event) {
        System.out.println("la souris bouge sur l'image");
}
      public void mouseDragged(MouseEvent event) {
        System.out.println("PacCOmponent,mouseDragged 2: monImage est censé bougé !! , cursor ="+cursor+", design =" +design);
      }
 
    };
  }
et je ne passe pas dans la méthode mouseDragged, c bizarre ? non ?