Affichage des articles dont le libellé est astuce. Afficher tous les articles
Affichage des articles dont le libellé est astuce. Afficher tous les articles

lundi 26 avril 2010

Java - Swing : Exemple de base

Tout ceux qui on un jour fait du client lourd en Java se sont pris la tête pour avoir un composant qui répond exactement à leur besoin. Les bibliothèques Java Swing et AWT propose déjà un bon nombre de composant prêt à l'emploi. Sans parler des « nouvelles » librairies tel que SwingX qui permettent d'étendre le nombre de composant prêt à l’emploi. Mais même ainsi, il n'est pas rare de vouloir un comportement diffèrent de celui qui est implémenté de base. Heureusement ces librairies ont été conçues pour être entièrement paramétrable. Mais ces modifications ne sont pas toujours évidantes à réaliser, surtout si l'on n'est pas un spécialiste dans ce domaine.

Ce site référencie les modifications fréquemment faites avec le code java correspondant : SwingExamples.

vendredi 23 avril 2010

Java - JTree avec des icones spécifiques

J'ai voulu faire un JTree affichant des icones spécifiques à chaque noeud.
Dans mon cas, l'objet du noeud est capable de fournir sa propre icone, ce qui simplifie le code. Du coup la solution est simple : il suffit de faire un Renderer héritant de DefaultTreeCellRenderer et de redéfinir la méthode getTreeCellRendererComponent.

Ce qui donne :
  @Override
  public Component getTreeCellRendererComponent(JTree tree,
            Object value,
            boolean sel,
            boolean expanded,
            boolean leaf, int row,
            boolean hasFocus) {
    Component component = super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf, row, hasFocus);
    if (Filiale.class.isInstance(value)) {
      setIcon(((Filiale) value).getIcon());
    }
    return component;
  }

Pour plus d'info : http://java.sun.com/docs/books/tutorial/uiswing/components/tree.html#display