Guest User

Untitled

a guest
Aug 15th, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.05 KB | None | 0 0
  1. Jtree getTreeCellRendererComponent execute several times
  2. @Override
  3. public Component getTreeCellRendererComponent(JTree tree, Object p_value,
  4. boolean selected, boolean expanded, boolean leaf, int row,
  5. boolean hasFocus) {
  6. super.getTreeCellRendererComponent(tree, p_value, selected, expanded,
  7. leaf, row, hasFocus);
  8. if (row != -1) {
  9. DefaultMutableTreeNode aNode = (DefaultMutableTreeNode) p_value;
  10. TreePath treePath;
  11.  
  12. treePath = tree.getPathForRow(row);
  13. if (treePath == null) {
  14. return this;
  15. }
  16. // int pathCount = treePath.getPathCount();
  17. JLabel label = (JLabel) this;
  18. if (aNode.getUserObject() instanceof MlCompteMail) {
  19. traiteNomCompte((MlCompteMail) aNode.getUserObject(), label);
  20. // JTreeFactory treeFact = new JTreeFactory();
  21. // treeFact.refreshNode(treePath);
  22.  
  23. return this;
  24. } else if (aNode.getUserObject() instanceof MlDossier) {
  25. traiteNomDossier((MlDossier) aNode.getUserObject(), label, leaf);
  26. // JTreeFactory treeFact = new JTreeFactory();
  27. // treeFact.refreshNode(treePath);
  28. return this;
  29. }
  30. }
  31.  
  32. return this;
  33. }
  34.  
  35. /**
  36. * @param value
  37. * @param treePath
  38. * @param label
  39. * @param p_leaf
  40. */
  41. private void traiteNomDossier(MlDossier p_dossier, JLabel label,
  42. boolean p_leaf) {
  43. String nomDossier = p_dossier.getNomDossier();
  44. if (nomDossier.equals(EnDossierBase.BROUILLON.getLib())) {
  45. label.setIcon(IconeTreeFactory.getBrouillon());
  46. } else if (nomDossier.equals(EnDossierBase.CORBEILLE.getLib())) {
  47. label.setIcon(IconeTreeFactory.getCorbeille());
  48. } else if (nomDossier.equals(EnDossierBase.ENVOYES.getLib())) {
  49. label.setIcon(IconeTreeFactory.getEnvoye());
  50. } else if (nomDossier.equals(EnDossierBase.RECEPTION.getLib())) {
  51. label.setIcon(IconeTreeFactory.getReception());
  52. } else if (nomDossier.equals(EnDossierBase.SPAM.getLib())) {
  53. label.setIcon(IconeTreeFactory.getSpam());
  54. } else if (p_leaf) {
  55. label.setIcon(IconeTreeFactory.getDossierFerme());
  56. } else {
  57. label.setIcon(IconeTreeFactory.getDossierOuvert());
  58. }
  59. int unreadMess = p_dossier.getUnreadMessCount();
  60. if (unreadMess > 0) {
  61. label.setText(nomDossier + " (" + unreadMess + ")");
  62. label.setFont(Fontfactory.getTREE_FONT_GRAS());
  63. } else {
  64. label.setText(nomDossier);
  65. label.setFont(Fontfactory.getTREE_FONT_PLAIN());
  66. }
  67. return;
  68. }
  69.  
  70. // }
  71. // }
  72.  
  73. /**
  74. * @param value
  75. * @param label
  76. */
  77. private void traiteNomCompte(MlCompteMail p_compteMail, JLabel label) {
  78. int unreadMess = p_compteMail.getUreadMessCount();
  79. if (unreadMess > 0) {
  80. label
  81. .setText(p_compteMail.getNomCompte() + " (" + unreadMess
  82. + ")");
  83. label.setFont(Fontfactory.getTREE_FONT_GRAS());
  84. } else {
  85. label.setText(p_compteMail.getNomCompte());
  86. label.setFont(Fontfactory.getTREE_FONT_PLAIN());
  87. }
  88. label.setIcon(IconeTreeFactory.getDossierOuvert());
  89.  
  90. }
Add Comment
Please, Sign In to add comment