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); } }et je ne passe pas dans la méthode mouseDragged, c bizarre ? non ?
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); } }; }
Partager