Bonjour,
Je fais un petit programme qui utilise un affichege en double buffering basé sur un truc qui ressemble a ca :
http://java.developpez.com/faq/java/...feringHardware
Je rencontre un probleme lors de l'affichage de JPanel. En effet mon affichage dans mon double buffer se fait de la sorte :
A partir du moment on mon panel est bien positionné en 0,0 tout fonctionne a merveille. Par contre des qu'il est ailleur, ca merdouille car la methode paint de mes boutons et autre est sensé se faire dans son propre graphics et non dans celui de son parent... du coup il ne prend pas ses propres coordonnées en compte.
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 public void Dessiner() { // On peux eviter la boucle... on as que 2 composants... for (int i=0;i<getComponentCount();i++) { getContentPane().getComponent(i).paint(buffer); } } // Boucle principale d'affichage while (true) { try { Dessiner(); strategy.show(); Thread.sleep(20); } catch (Exception e) { e.printStackTrace(); } }
Y a t'il un moyen d'utiliser la méthode de double buffering Hadware tout en concervant une gestion de composants classiques ???
Sinon la méthode qu'il me reste est de créer un JPanel qui engloble le tout j'imagine... mais j'aurais préferer faire autrement.
Merci de vos réponses
Partager