Bonjour,
Je implémenté un code qui m'affiche les nouveaux coordonnées d’une barre d’outils à chaque nouveau déplacement à cette barre.
Mais, dans la plupart, le code m'affiche des fausses coordonnes qui ne correspondent pas aux coordonnées de la barre.
S’il vous plait aider moi, pour trouver des valeurs correctes.
Voici le code utilisé :
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
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 class ActionMouse extends Canvas implements MouseMotionListener, MouseListener { Interfece_barre c ; JToolBar jToolBar; ActionMouse(Interfece_barre c) { if (c == null) System.err.println("Attention, initialisation avec une valeur null"); this.c=c; this.jToolBar =c.jToolBar1 ; } ActionMouse(JToolBar j) { this.jToolBar =j ; } public void mousePressed(MouseEvent e) { Object source; source=e.getSource() ; if(source==c.jToolBar1) c.presse_jtoolbar =true; } public void mouseReleased(MouseEvent e) { if(c.presse_jtoolbar) { c.absc_barre=e.getX(); c.ordon_barre=e.getY(); c.presse_jtoolbar=false; //******************affichage des nouveaux coordonnées************ System.out.println("e.getx= "+e.getX()+"x barre="+c.absc_barre); System.out.println("e.gety= "+e.getY()+"y barre="+c.ordon_barre); } }
Voici la classe Interfece_barre :
J’espère qu’il soit clair.
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
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 public class Interfece_barre extends JFrame { JDesktopPane desk=new JDesktopPane(); BorderLayout borderLayout1 = new BorderLayout(); JToolBar jToolBar1 = new JToolBar(); JButton b1 = new JButton("file") JButton b2 = new JButton("imprimer") JButton b3 = new JButton("inserer"); JButton b4= new JButton "file" (afficher); public boolean presse_jtoolbar=false; public int absc_barre; public int ordon_barre; public Interfece_barre () { try { jbInit(); } catch (Exception ex) { ex.printStackTrace(); } this.setTitle("Interfece_barre 1.0") ; this.getContentPane().add(desk,BorderLayout.CENTER); Config.exitWin(this); this.setVisible(true); } public static void main(String[] args) { Interfece_barre exemple = new Interfece_barre (); } private void jbInit() throws Exception { this.getContentPane().setLayout(borderLayout1); JToolBar.add(b1) JToolBar.add(b2) JToolBar add(b3) JToolBar.add(b4) this.getContentPane().add(jToolBar1); //*********************************** this.addMouseListener(new ActionMouse(this)); jToolBar1.addMouseListener(new ActionMouse(this)); } }
Merci beaucoup.
Partager