Bonjour,

Voilà, j'ai un petit problème pour placer d'un coté (gauche) une colonne de bouton, et a droite une zone pour dessiner en double-buffer.

J'ai d'abord fait ceci SANS double buffer, en créant deux JPanel (bouton / dessin), comme ceci:

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
 Container contentPane = getContentPane(); 
 
      //zone dessin
      canvas = new JPanel(); 
 
      contentPane.add(canvas, "Center"); 
 
      //bouton
      JPanel p = new JPanel(); 
      p.setLayout( new GridLayout(nbCannon,0));
 
	addButton(p, "Start", new ActionListener() {
 
                   //blabla est un thread...
                   new blabla(canvas); // j envoi le jpanel pour dessiner dedans...
 
                //dans le thread blabla je recupete le Jpanel
               // Graphics g = canvas.getGraphics()
              // puis g.Draw....
 
}
 
 contentPane.add(p, "West"); 
}
 
public void addButton(Container c, String title, ActionListener a) {
   JButton b = new JButton();
 
      c.add(b); 
      b.addActionListener(a); 
   }
mais bon.. problèmeme ça clignote pas mal..
j'ai donc voulut mettre du double-buffer "hardware"

j'ai modifier en en ajoutant

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
   createBufferStrategy( 2 ); 
   strategy = getBufferStrategy();
maintenant pour dessiner je doit utiliser le strategy
en faisant Graphics g = strategy.getDrawGraphics();
puis g.draw...

mais la le probleme c'est que ça m'affiche depuis le coin 0,0 et donc ca dessine SUR les boutons....

Je ne sais pas comment faire pour forcer a dessiner dans le JPnale de droite..

SI quelqu'un pouvait me donner un coup de main, ou me conseiller si il pense que ma méthode n'est pas la bonne ?


d'avance merci