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

AWT/Swing Java Discussion :

JTreeTable et quelle API Swing utilisez vous?


Sujet :

AWT/Swing Java

  1. #1
    Membre expérimenté
    JTreeTable et quelle API Swing utilisez vous?
    Bonjour
    je suis débutant en Swing, et j'aimerais gere un JTreeTable autrement
    dit un tree avec plusieurs colonnes. J'ai trouvé cet article qui propose une implementation d'un JTreeTable, mais je voulais savoir si il y avait des API qui gérait deja le JTreeTable.

    J'ai vu qu'il y a avait SwingX, mais existe il d'autres API? Que me conseillerez vous comme API pour gérer des widgets qui étendent celles de Swing de base.

    Je vous remercie de vos reponses

    Angelo

  2. #2

  3. #3
    Membre expérimenté
    Merci beaucoup Alec6,

    Je vais lire la doc que tu m'as envoyé.
    Mais pourrais tu me dire quel API tu preferes et pour qu'elle raison.

    Si d'autres personnes peuvent me faire un retour de leur expérience sur les API qu'ils utilisent, ca serait super sympa. Merci.

    Angelo

  4. #4
    Expert éminent sénior
    En ce qui concerne les TreeTables il n'y a pas trentes choix pas avoir des composants pas trop buggés et/ou limités.
    Celle de l'aritcle de Sun est plutôt ancienne et pas forcément mise à jour, donc à éviter a moins de vouloir jouer avec du java inférieur à 1.5.
    Sinon en open source tu dois avoir la JXTreeTable qui est de loin la plus avancée, mais pas exempte de bugs (voir le nombre de topics s'y ramenant sur les forums de SwingLabs).
    Sinon si tu veux quelquechose de sensément stable, beh il faut raquer avec le composants Grid de JIDE qui sont stables et bien foutus, mais pas open source comme leur common components.
    http://www.jidesoft.com/products/grids.htm

    Enfin pour faire le tour des bibliothèques de composants open source.
    Je dirais
    • common components de L2FProd, qui contient un bon paquet de composants manquants à Swing, Taskpane, PropertiesTable, JOutlookPane, DirectoryChooser, FontChooser & cie. Elle permet d'éviter d'avoir à trop se fouler dans certains cas et créer des composants from scratch. Ce doit être la librairie la plus ancienne des trois que je cite. http://common.l2fprod.com
    • SwingX: http://swinglabs.org/ (attention il faut obligatoirement prendre les weeklies et non la pseudo milestone 0.8 qui n'est qu'une très vieille weekly build arbitrairement nommée milestone, SwingX a beaucoup évolué depuis). Contient un bon nombre de composants avancé: JXtable avec filtrage, tri, renderers améliorés/highlighters ... idem pour le JXtree, plein de petites options sympathiques tout celà pour java 1.5 minimum. JXtreeTable fonctionnel et hautement customisable en apparence au niveau visuel toujours au moyen de highlighters/renderers. Un frameworks de painters permmettant d'obtenir rapidement un rendu visuel sympatoches pour l'ensembles des JXComponents de base (JXPanel, JXLabel, JXButton &cie).
    • le Common Layer de JIDE, issu du passage en opensource des composants de base de la librairie JIDE, très pro, belle finition, bien utile: http://www.jidesoft.com/products/oss.htm
    Sachant que chacune possède des redondances avec les autres(par exemple le JXTaskPane de SwingX et la reprise de JTaskpaneContainer de L2FProd).

    En général étendre les composant Swing n'est pas forcément nécessaire, a moins de vouloir en chager le rendu, enfin tout dépend de ce que tu veux faire...
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  5. #5
    Membre expérimenté
    Bonjour sinok,

    Merci beaucoup de ta réponse bien complete.
    En fait je suis en train de développer avec une autre personne une API
    qui permette d'interpreter une grammaire XML (Xul, HTML...) en SWT ou Swing
    dans le cadre du projet Akrogen, plugin Eclipse ou l'on decrit ses wizard en XML/XUL. Ca sera pour migrer dasn un futur Akrogen sur Netbeans. Aujourd'hui Akrogen supporte uniquement SWT (avec Wazaabi), dans le futur il faut que ca supporte Swing pour Netbeans.

    Donc j'aimerais que les widgets supportent 1.4 (comme dans Akrogen aujourd'hui avec SWT).

    Merci encoire pour les infos. Existe il une version 1.4 de SwingX?

    Angelo

  6. #6
    Expert éminent sénior
    Pour la version 1.4 de SwingX je crois que certains se sont déjà penché dessus en utilisant retroweaver, le problème étant que SwingX ne fournit aucun support dans ce cas, et plus le temps passe, plus le code est difficile à backporter (utilisation plutôt forte de generics et autre features java 5).

    Mais en général, si c'est pour faire un plugin pour un IDE, je suppose que la personne qui développe peut au moins faire installer un JDK 5 (sorti il y a de çà trois ans tout de même, époque ou je commençait tout juste en java ^^). Puis netbeans avec un JDK 1.4, bah çà rame, swing étant largement moins rapide dans cette version...

    A noter toutefois que netbeans propose ses propres composants au niveau de de la plateforme et que de fait il est possible de ne pas passer par des API tierces comme SwingX ou autres. Par exemple Netbeans propose une TreeTable: http://bits.netbeans.org/dev/javadoc...TableView.html

    Donc pour faire un module netbeans il vaut mieux directment vers la plateforme netbeans (qui est à Swing ce qu'EclipseRCP est à SWT).
    Pour commencer a écrire des modules Netbeans c'est par là: http://platform.netbeans.org/tutoria...start-nbm.html

    ++
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  7. #7
    Membre expérimenté
    Bonjour sinok,
    Je te remercie encore de tes reponses bien completes.

    Concernant Eclipse, je prefere garder le JDK 1.4 car je t'avoues que dans pas mal d'entreprise ou j'ai fait mes missions ils sont encore en 1.4 et ils ont du mal a passer au 1.5.

    Concernant Netbeans, je ne savais pas que le 1.5 etait préconsisé, donc je peux peut etre partir sur le 1.5 concernant Swing.

    Si Netbeans propose des widgets, il est vrai que ca peut etre interessant de partir sur l'API Netbeans. Mais Netbeans ont-ils fait comme Eclipse autrement dit proposer des jar (SWT, JFace) qui sont independants de la plateforme Eclipse?

    Concernant le developpement de plugin Eclipse, cela fait plus d'un an que je developpe Akrogen donc je commence a me depatouiller, par contre concernant Netbeans je n'y connais rien. Je vais commencer par lire le lien que tu m'as donné.

    Je te pose la question à tout hasard. Serais tu intéréssé pour m'aider à developper le module Netbeans Akrogen? Si tu es interessé, je pourrais t'expliquer plus en détail ce que fait Akrogen pour voir si tu es intéréssé.

    Merci encore de ton aide.

    Angelo

  8. #8
    Rédacteur

    pour la doc sur la plateforme netbeans :
    http://platform.netbeans.org/tutorials/index.html

    pour un exemple de JXtreetable :
    Systèmes d'Informations Géographiques
    - Projets : Unlicense.science - Apache.SIS

    Pour un monde sans BigBrother IxQuick ni censure RSF et Les moutons

  9. #9
    Membre expérimenté
    Bonjour eclesia,

    Merci pour ton information.

    La copie d'ecran JXTreeTable est un exemple de TreeTable provenent de l'API de Netbeans? SI c le cas, c exactement ca qu'il me faut. Si tu connais le jar qui permet de faire ca, je suis preneur de l'information.

    Sinon je continues a faire mes recherches et j'ai découvert ce matin OpenSwing.
    J'ai posté un message ici concernant OpenSwing. Si tu connais et que tu as le temps de me donner ton avis je t'en serais très reconnaisant. Merci.

    Enfin si tu es intéréssé pour m'aider à développer le module Akrogen Netbeans, n'hésite pas à me solliciter. Si tu veux en savoir plus concernant Akrogen, n'hesite pas à me demander.

    Angelo

  10. #10
    Rédacteur

    j'ai regardé rapidement openSwing. ca ressemble beaucoup a la librairie SwingX de Swinglabs.

    le composant que je te montre plus haut est un JXTreeTable de SwingX justement.

    Mon avis sur SwingX :
    Exellente librairie de composants, comme dit sinok plein de methodes supplémentaires bien pratique. Elle s'intégre très bien dans Matisse (editeur visuel de NetBeans). Je l'utilise dans tous mes projets.

    Mon avis sur NetBeans Plateform :
    J'ai eu du mal au début j'avous, mais la plateforme NB6 c'est simplifiée j'ai l'impression. C'est un gros avantage de ne plus avoir a gérer le positionnement des fenetres ...etc...


    Actuellement ce que je fais avec ressemble a ca :



    Quand a t'aider sur ton projet, ca ne va pas etre possible désolé.
    je suis deja sur : AlterSIG
    et sur : GeoTools

    Systèmes d'Informations Géographiques
    - Projets : Unlicense.science - Apache.SIS

    Pour un monde sans BigBrother IxQuick ni censure RSF et Les moutons

  11. #11
    Membre expérimenté
    Bonjour eclesia,

    merci de ta réponse.
    J'ai bien envie de partir sur les widgets proposées par Netbeans. Je vais étudier ca. Concernant le positionnement des fenêtre, tu dois parler des layout?
    Si c ca, on pense que l'on va partir sur MIG Layout qui permet de gerer les layout en Swing et SWT.

    Pour m'aider, tant pis pour moi et je te souhaite bonne chance pour tes autres projets.

    Angelo

  12. #12
    Rédacteur

    Citation Envoyé par azerr Voir le message

    Concernant le positionnement des fenêtre, tu dois parler des layout?
    Si c ca, on pense que l'on va partir sur MIG Layout qui permet de gerer les layout en Swing et SWT.
    Je ne pensais pas a ca. je parlais de l'agencement des "onglets" dans netbeans. qu'ils soient sur la gauche, la droite, en haut, en minimiser, en maximizer, en "undock" etc... ca ajoute à l'intérêt de la plateforme.
    Systèmes d'Informations Géographiques
    - Projets : Unlicense.science - Apache.SIS

    Pour un monde sans BigBrother IxQuick ni censure RSF et Les moutons