IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants Java Discussion :

[Swing]JTreeMap : un widget open source


Sujet :

Composants Java

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 145
    Points : 179
    Points
    179
    Par défaut [Swing]JTreeMap : un widget open source
    Bonjour,
    J'aimerais avoir l'avis d'un maximum de personnes.

    J'ai développé un Component Swing permettant de représenter une arborescence en 2D.
    JTreeMap
    Chaque élément de l'arbre est représenté par un rectangle. Plus l'élément est important dans l'arbre, plus le rectangle est grand.
    On peut aussi ajouter une couleur au rectangle, ce qui ajoute une dimension à la représentation.

    C'est inspiré de smartmoney (MarketMap) qui représente le downjones comme cela. La taille du rectangle est la pondération de l'action dans l'indice. La couleur indique si l'action monte ou baisse.

    Je pense que c'est un outil qui peut être utilisé pour beaucoup de choses.

    Toutes les remarques sont les bienvenues !

  2. #2
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2002
    Messages
    705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 705
    Points : 393
    Points
    393
    Par défaut
    C'est un concept très interessant !

    Ca doit avoir un nom bien spécifique ce genre de diagramme.

    J'avais eu cette problématique déjà mais pour représenter l'inclusion d'activité au sein d'autres activités dans les entreprises. Je ne l'ai pas fais finalement.

    J'ai trois remarques à te faire:
    - ScreenShot dans le site internet (orthographe)
    - Le TreeMap tel que présenté ici c'est carrément imbuvable, dans ton example et dans celui de smartmoney: on veut bien le concept mais on s'attend à une super lisibilité. Peut etre que avec des borders et des ombres portées, pour faire du relief, tu peux faire bien mieux.
    - Le layout n'est pas évident: on ne sait pas comment sont ordonnés les carrés par rapport à l'ordre dans l'arbre.
    - Je ne connais pas ton niveau dans swing (d'ailleur excuse le tutoyage), mais peut tu faires un layout avec des panels qui plus tard pourront etre etendus par les développers. Peut etre plus tard un système de look&feel, des listeners etc...
    - Une super remarque, je pense, pour l'évolution et la viabilité de ton composant: est ce qu'on peut gréfer ton calculateur sur les composants de JFreeChart; par exemple pour avoir la meme chose que tu présente sous forme d'un camenbert etc.... Graphiquement les possibilités sont grandes.

    Voilà pour de la critique seine.

    Un bon courage, et que le génie de l'architecture logicielle vous accompage.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 145
    Points : 179
    Points
    179
    Par défaut
    Merci pour ces premières remarques (j'espère qu'il y en aura d'autres)

    Je vais essayer de répondre au mieux :
    - ScreenShot dans le site internet (orthographe)
    - ScreeShot je corrige dès que possible
    - Le TreeMap tel que présenté ici c'est carrément imbuvable, dans ton example et dans celui de smartmoney: on veut bien le concept mais on s'attend à une super lisibilité. Peut etre que avec des borders et des ombres portées, pour faire du relief, tu peux faire bien mieux.
    - La représentation est toujours déroutante au premier abord. Mais au bout de quelques utilisations, les utilisateurs s'y habituent très vite. J'ai déjà essayé toutes tes suggestions (borders, ombres, etc...) Cela charge encore plus le rendu et le rend à mon avis encore moins lisible...
    De plus le fait de pouvoir zoomer dans le treemap (dans l'exemple en sélectionnant les éléments dans le TreeView) permet de n'afficher que les infos que l'on veut (et donc plus de clareté...)
    - Le layout n'est pas évident: on ne sait pas comment sont ordonnés les carrés par rapport à l'ordre dans l'arbre.
    - Le but du widget est justement de ne pas s'occuper du layout (ce que j'apelle SplitStrategy). On choisit la strategie, on assigne l'arborescence et le widget s'occupe de la répartition. La répartition est faites par dichotomie (d'où le nom SplitStrategy) Si on regarde les exemples, on s'aperçoit que les éléments sont séparés en deux à chaque niveau...
    - Je ne connais pas ton niveau dans swing (d'ailleur excuse le tutoyage), mais peut tu faires un layout avec des panels qui plus tard pourront etre etendus par les développers. Peut etre plus tard un système de look&feel, des listeners etc...
    - Le Widget est en gros un canva où l'on dessine les rectangles. La toute première version s'était effectivement faite avec des panels imbriqués : les performences étaient catastrophiques.
    Pour que les développeurs puissent étendre les look&feel il y a des méthodes protected qui permettent de dessiner autrement les éléments.
    Pour ce qui est des listeners, comme le JTreeMap hérite de JComponent, il a déjà toute une collection de listeners disponibles.
    - Une super remarque, je pense, pour l'évolution et la viabilité de ton composant: est ce qu'on peut gréfer ton calculateur sur les composants de JFreeChart; par exemple pour avoir la meme chose que tu présente sous forme d'un camenbert etc.... Graphiquement les possibilités sont grandes.
    - J'ai fait en sorte de bien séparer le calcul (SplitStrategy) la représentation (JTreeMap) et les données (TreeMapNode qui hérite de javax.swing.tree.DefaultMutableTreeNode) Cela devrait donc pouvoir se faire...

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 145
    Points : 179
    Points
    179
    Par défaut
    Pas d'autres tests ? de suggestions ?

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 145
    Points : 179
    Points
    179
    Par défaut
    Une nouvelle version est dispo avec une exemple d'applet et une gestion du zoom avec clic-droit.
    JTreeMap

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 145
    Points : 179
    Points
    179
    Par défaut
    La version 1.0Beta est téléchargeable.

    Il y a eu quelques améliorations depuis, notamment le site

    J'aimerais avoir le plus de tests et d'avis possible. Donc n'hésitez pas !

    PS : j'insiste un peu parce que le widget est repris dans un autre projet SourceForge : JPivot

Discussions similaires

  1. Swing BI nouvelle solution Open Source BI
    Par swingBI dans le forum Autres outils décisionnels
    Réponses: 2
    Dernier message: 05/10/2009, 10h30
  2. Réponses: 12
    Dernier message: 01/12/2008, 00h57
  3. Recherche competences Swing pour projet Open Source
    Par azerr dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 27/03/2008, 18h35
  4. Réponses: 5
    Dernier message: 06/12/2007, 08h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo