coordonees d'une barre d'outils dans un JFrame
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:
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 :
Code:
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));
}
} |
J’espère qu’il soit clair.
Merci beaucoup.
comment connaitre les valeurs fausses
En realite non seulement j'affiche les nouveaux coordonnées ,mis aussi j'enregistre les nouveaux coordonnées dans un fichier XML aprés une deconnection.
Puis dans l'ouverture precedante,les coordonnées de la barre sont les derniers valeurs enregistrées dans le fichier.
et dans la plupart,je ne trouve pas la barre dans sa derniere position avant de quitter l'interface.Donc les valeurs enregistrées sont fausses.
C'est comment je connais que loes valeurs sont fausse.
S'il vous plait ,aider moi
et merci