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

2D Java Discussion :

[débutant][java2D]améliorer le design


Sujet :

2D Java

  1. #1
    Membre éclairé Avatar de pingoui
    Homme Profil pro
    Activité professionnelle sans liens avec le developpement
    Inscrit en
    Juillet 2004
    Messages
    582
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Activité professionnelle sans liens avec le developpement
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2004
    Messages : 582
    Par défaut [débutant][java2D]améliorer le design
    Bonjour,

    j'aimerai améliorer le design de cet arbre généalogique

    http://www.bujinkan38.org/vince/arbre3.jpg

    Cette arbre est générer à grâce à java2D.

    J'aimerai pouvoir: insérer un symbole mâle ou femelle dans les noeuds ou feuilles

    J'aimerai aussi que vous me donnez votre avis sur le design. si vous avez des idées d'amélioration, je suis prenneur!

    merci pour vos avis éclairés !

  2. #2
    Membre éclairé Avatar de pingoui
    Homme Profil pro
    Activité professionnelle sans liens avec le developpement
    Inscrit en
    Juillet 2004
    Messages
    582
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Activité professionnelle sans liens avec le developpement
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2004
    Messages : 582
    Par défaut
    Bonjour,

    up! up! petit message

    Avez-vous des idées pour avoir un arbre généalogique plus pro?

    Votre avis m'interresse beaucoup.

    merci

  3. #3
    Membre éclairé
    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
    Par défaut
    Tu souffres depuis combien de temps la dessus ?

    J'ai pas le code sur mois sinon je te l'aurais donné mais je te donne la stratégie:

    - tu mets tout tes noeuds dans le DefaultMutableTreeNode qui contient pour commencer des JLabel (Mal) et JLabel(femel).
    Ceci te permet d'avoir une structure de données JAVA pour les arbres (verifi avec un JTree que ta structure est correcte)

    - quand c'est fait il suffit de parcourire cet arbre et de disposer des composants JLabel (qui pourrait aussi etre des JPannel ou autre) sur un JPanel avec un absolute layout manager.
    Tu vas me dire oui, mes comment je calcul la position sur mon panel de mes composants ?

    - tu parcours l'abre avec par exemple un root.BreadthFirstEnumeration --> Enumeration (pour éviter un système récursif si tu maitrise pas); tu trouves ca dans DefaultMutableTreeNode.

    - Pour chaque noeud tu peux connaitre la profondeur (rang dans l'arbre) getLevel (je crois), sa position par rapport à son père (indexOf) etc...
    De ce fait en conservant des index de positions x et y tu peux calculer la position des objets.

    Il se peut que tu doivent utiliser dans un premier temps un repere dont l'orgine soit la racine de l'abre et que tu te retrouve avec des positions dans des cadrans négatif. Il te suffit alors d'effectuer une translation de repère.

    Et voilà ! Si tu as le courage de reconstruire la dessus tu auras des opportunités d'évolution car tu peux disposer directement des composants JAVA (un bouton ca serait sympa par exemple, ou une image animé etc...)

    PS: l'algo fait 50 lignes max.

  4. #4
    Membre éclairé Avatar de pingoui
    Homme Profil pro
    Activité professionnelle sans liens avec le developpement
    Inscrit en
    Juillet 2004
    Messages
    582
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Activité professionnelle sans liens avec le developpement
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2004
    Messages : 582
    Par défaut
    Salut Alec6,

    je te remercie pour ton aide mais mon arbre est déjà créer
    Au début, j'ai galérer mais j'ai réussit à avoir un résultat avec un gridBagLayout et quelque calcul savant pour disposer des JPanel.
    Ensuite, je me suis orienter vers une autre méthode, pour que le design de l'arbre soit plus sympa.
    Pour cela, plusieurs personnes du forum mon conseillé d'utiliser Java2d.
    Avec l'aide de fnobb, l'abre java2D se déssine grâce à un arbre binaire ordonné.

    Ma question, ici, est plus une question de goût et couleurs. Le lien ci-dessus est l'arbre créer par mon programme.
    J'aimerai avoir un design plus pro, c'est pourquoi je fais appel à vos yeux d'expert.
    Vous serez certainement me conseiller pour faire quelque chose de sympa

    merci quand même pour ton aide, c'est sympa

  5. #5
    Membre averti Avatar de JWillow
    Inscrit en
    Juin 2003
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 57
    Par défaut Design
    Une petite infos pour commencer sur quoi porte l'arbre : 1.1212.03 ????

  6. #6
    Membre éclairé Avatar de pingoui
    Homme Profil pro
    Activité professionnelle sans liens avec le developpement
    Inscrit en
    Juillet 2004
    Messages
    582
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Activité professionnelle sans liens avec le developpement
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2004
    Messages : 582
    Par défaut
    C'est un arbre généloquique de canari.
    le canari 1.1212.03 à
    un pére : 2.1212.02
    une mére : 3.1212.03
    Ainsi de suite

    j'espère avoir répondu à ta question

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 37
    Par défaut
    Mettre une image de fond pourrait être sympa déjà.
    Ensuite personnellement je ne comprend pas ce que représentent les chiffres ici : normalement c'est la date de naissance et celle de décès non ?
    Il serait plus normal qu'il soit à l'inverse de ce que tu as fait je crois : c'est vers le haut que l'arbre s'élargi, et non vers le bas. Et il faudrait avoir les nom et prénom des personnes (voir pour une amélioration une photo).

    voilà

  8. #8
    Membre éclairé Avatar de pingoui
    Homme Profil pro
    Activité professionnelle sans liens avec le developpement
    Inscrit en
    Juillet 2004
    Messages
    582
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Activité professionnelle sans liens avec le developpement
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2004
    Messages : 582
    Par défaut
    une petite question:
    Comment puis-je insérer une image à droite du texte ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    g.drawString(chaine,x-lg/2,y+decalageTexte(fm));
    g.drawRoundRect(x-lg/2-5,y,60,20,10,10);

  9. #9
    Membre averti Avatar de JWillow
    Inscrit en
    Juin 2003
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 57
    Par défaut
    Pour l'image de fond je suis totalement d'accord car il faut plus de couleur et de volume à ta représentation.

    L'image de fond doit être atténué et discrète elle ne doit pas réduire la visibilité de tes données du style il faut mettre un calque blanc avec un opacité de 75% dessus. Si c dans le cadre d'un projet de cours je choisirais une image de TITI seul sur fond blanc avec un calque par dessus. Ensuite je me procurerais les images des symbole biologique homme, femme du style "Un gars, une fille" pour les inclure dans les rectangle sur la gauche avec à la droite le nom du canary. J'épaicirai aussi les traits des cadres.

    Voila,

  10. #10
    Membre averti Avatar de JWillow
    Inscrit en
    Juin 2003
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 57
    Par défaut
    Déjà pour la représentation des cadres j'utiliserai à fond les JLabel qui peuvent inclure des ImageIcon et du texte puis c sur ce JLabel que s'effecture le travail de placement sur ton espace de représentation


    Citation Envoyé par pingoui
    une petite question:
    Comment puis-je insérer une image à droite du texte ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    g.drawString(chaine,x-lg/2,y+decalageTexte(fm));
    g.drawRoundRect(x-lg/2-5,y,60,20,10,10);

  11. #11
    Membre éclairé Avatar de pingoui
    Homme Profil pro
    Activité professionnelle sans liens avec le developpement
    Inscrit en
    Juillet 2004
    Messages
    582
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Activité professionnelle sans liens avec le developpement
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2004
    Messages : 582
    Par défaut
    je peux dessiner un arbre avec Java2D et y insérer des jPanel?

  12. #12
    Membre averti Avatar de JWillow
    Inscrit en
    Juin 2003
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 57
    Par défaut
    Bien sur, un JPanel est un composant graphique qui se dessine avec un objet Graphics comme ton rectangle, il te suffit juste de le lui fournir.

    Pour faire plus simple un suffit de mettre aucun LayoutManager à ta zone de représentation je suppose un JComponent [setLayout(null)] ensuite tu ajoute ton JPanel à se JComponent [add(monPanel)] et maintenant à toi de lui donner c coordonnée et sa taille et il se dessinera tout seul

  13. #13
    Membre éclairé Avatar de pingoui
    Homme Profil pro
    Activité professionnelle sans liens avec le developpement
    Inscrit en
    Juillet 2004
    Messages
    582
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Activité professionnelle sans liens avec le developpement
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2004
    Messages : 582
    Par défaut
    par exemple dans mon prog, je dessine un rectangle arrondit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    g.drawRoundRect(x-lg/2-5,y,60,20,10,10);
    puis-je le transformer en JPanel ?

  14. #14
    Membre averti Avatar de JWillow
    Inscrit en
    Juin 2003
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 57
    Par défaut
    Oui pas de problèmes.

    Au préalable il faut l'enregistrer auprès de ton composant où tu dessines (voir mon poste précèdent) et puis à ton de gèrer les coordonnées comme tu le faisait pour ton rectangle

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [débutant]java2D en java3D
    Par pingoui dans le forum Graphisme
    Réponses: 8
    Dernier message: 19/03/2007, 20h49
  2. [débutant] java2D centrer dans un JCompoment
    Par pingoui dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 11/03/2007, 20h25
  3. [WinForms]Améliorer le design des appli windows ?
    Par annalady dans le forum Général Dotnet
    Réponses: 6
    Dernier message: 29/11/2005, 14h19
  4. Amélioration du design.
    Par ChrissBob dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 20/08/2005, 21h10
  5. [débutant] java2D pour arbre généalogique
    Par pingoui dans le forum 2D
    Réponses: 4
    Dernier message: 16/11/2004, 13h30

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