2010-03-04 8 views
0

J'ai implémenté un TreeCellRenderer qui retourne un JCheckBox (code simple indiquant que le moteur de rendu étend une JCheckBox et définit son état de sélection en fonction d'un indicateur dans l'élément) et fonctionne correctement. Cependant, quand il y a plus que quelques éléments dans la liste, il rend très lentement. Faire défiler la liste et étendre les nœuds prend plus d'une seconde, ce qui est plutôt lent. Existe-t-il une meilleure façon de mettre en œuvre un moteur de rendu de cellule arborescente pour l'accélérer?Rendu de cellule d'arborescence JCheckBox

grâce, Jeff

+0

Il y a peut-être un problème avec votre moteur de rendu. Assurez-vous que vous utilisez une seule instance de JCheckBox et ne créez pas toujours une nouvelle instance pour chaque requête. –

+1

Je ne vois rien de mal. Alors code postal si ce n'est pas trop de problèmes. Sinon développez sur "le code simple que le moteur de rendu étend un JCheckBox et définit son statut de sélection basé sur un indicateur dans l'élément" est ce drapeau déjà donné ou est-ce qu'il calcule le drapeau? Aussi combien d'éléments dans la liste le rend lent? –

+0

Je crée seulement une case à cocher, mais je devrais pouvoir poster du code un peu plus tard aujourd'hui. J'ai besoin de faire une vérification supplémentaire pour vérifier que ce n'est pas quelque chose d'autre qui ralentit le moteur de rendu. –

Répondre

0

Il s'est avéré qu'il y avait quelque chose d'autre dans mon application qui ralentissait les choses.

2

Si vous êtes en mesure d'utiliser une bibliothèque tierce partie, vous pouvez alors utiliser le CheckBoxTree de JIDE Common Layer.

Questions connexes