Bonjour,
voyez ce phénomène graphique que je n'arrive pas à résoudre:
Le conteneur est une JDialog, ayant comme seul contenu une JTable. Les données de celles-ci sont gérées par une classe étendant AbstractTableModel.
Le phénomène graphique est obtenu en glissant la fenêtre en dehors de l'écran, puis en la faisant revenir lentement à l'intérieur de l'écran.
Si le glissement de retour en zone d'affichage est rapide, quelque zones de la JTable sont rafraîchies.
Par contre, si le glissement est très lent, j'arrive à faire revenir une JTable entièrement vide.
En déboguant, je m'aperçois que que la fonction surchargée AbstractTableModel.getValue() n'est pas systématiquement invoquée.
Le membre JTable.doubleBufferred à 'true' ou à 'false' ne change rien à l'affaire.
La propriété JDialog.isDoubleBuffered est toujours à 'false' et je ne trouve pas comment la changer... et d'ailleurs, je ne sais pas si ce serai la solution au problème...
Vous avez une idée sur la résolution de ce dysfonctionnement ?
PS: le défaut apparaît lorsqu'il s'agit d'un glissement vers le haut ou le bas de l'écran.
Par contre, dans les cas de glissement horizontal , le rafraîchissement graphique se fait correctement... C'est un indice
Partager