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

Agents de placement/Fenêtres Java Discussion :

[débutant]Quel Layout utiliser


Sujet :

Agents de placement/Fenêtres Java

  1. #1
    Membre habitué 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
    Points : 185
    Points
    185
    Par défaut [débutant]Quel Layout utiliser
    Bonjour,

    J'ai un JPanel couper en deux verticalement

    J'aimerai avoir,à Gauche, un arbre généalogique et à droite une JTable

    J'aimerai que mon arbre généalogique resemble à ça:

    http://www.bujinkan38.org/vince/Genealogie.doc

    je pense que les compartiments Pére, Mére,et titti (titi est l'oiseau sélectionné ) seront des JLabel
    Le compartiment Enfants sera une JList.

    Quel layout dois je utiliser pour réaliser mon arbre?
    pouvez vous me donner un exemple pour construire l'arbre (voir url ci-dessus)

    merci pour votre aide

  2. #2
    Membre confirmé
    Avatar de Glob
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Avril 2002
    Messages
    428
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Suisse

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Avril 2002
    Messages : 428
    Points : 630
    Points
    630
    Par défaut
    Citation Envoyé par IE
    Impossible d'associer une adresse IP à la machine www.buinkan38.org
    ?

  3. #3
    Membre habitué 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
    Points : 185
    Points
    185
    Par défaut
    Sorry... ....ça fonctionne désormais

    *edit: j'ai modifier "l'énoncé" et le titre étant donné que j'ai eu un partie de ma réponse dans un autre post.

  4. #4
    Membre habitué 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
    Points : 185
    Points
    185
    Par défaut
    Bonjour,

    Après avoir bidouillé plusieurs layout, je suis passé au GridbagLayout

    Ce layout est un peut compliqué pour moi mais je commence à avoir un résultat.

    J'ai une première ligne avec 2 panels. 1 par colonne
    _panelPere & _panelMere

    J'ai une seconde ligne avec 1 panel. il prend la place de 2 colonnes
    _panelCanari

    J'ai une troisième ligne avec 1 panel. il prend la place de 2 colonnes
    _panelEnfants

    Mon problème :
    A la ligne 2 et 3, les panels prennent la dimension des 2 panels de la première ligne plus les insets

    J'aimerai que le panel _panelCanari prenne sa dimension (50,50) et reste au millieu (comme dans mon croquis cf url dans le 1er post)
    idem pour le panel _panelEnfants

    Voici le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
     
    	   private void init(){
     
    	    _jScrollGlobal.getViewport().add(_jPanelGlobal);//On ajoute le Panel dans un ScrollPane
    	    _jPanelGlobal.setLayout(_gridLayout);//On ajoute un GridLayout de 2 colonnes au panel	    
    	    _jPanelGlobal.add(_panelGauche);//On ajoute un panel dans la première colonne
    	    _jPanelGlobal.add(_panelDroite);// on ajoute un panel dans la deuxième colonne
     
     
    	    _panelGauche.setLayout(new GridBagLayout());// On ajoute un GridBagLayout au panel de gauche
    	    GridBagConstraints c = new GridBagConstraints();
    	    c.fill = GridBagConstraints.HORIZONTAL;
     
    //PANEL PERE
    	    _panelPere  = new JPanel();
    	    _panelPere.setPreferredSize(new Dimension(50,50));
    	    _panelPere.setBorder(BorderFactory.createLineBorder(Color.black) );
    	    c.weightx = 0.0;
    	    c.gridx = 0;//colonne 0
    	    c.gridy = 0;//ligne 0
    	    c.insets = new Insets(0,10,0,10);//espacement autour du JPanel (top,left, bottom, right)
    	    _panelGauche.add(_panelPere, c);// on ajoute le JPanel "Pére" au JPanel "Arbre"
     
    //PANEL MERE
    	    _panelMere  = new JPanel();
    	    _panelMere.setPreferredSize(new Dimension(50,50));
    	    _panelMere.setBorder(BorderFactory.createLineBorder(Color.black) );
    	    c.weightx = 0.0;
    	    c.gridx = 1;//colonne 1
    	    c.gridy = 0;//ligne 0
    	    c.insets = new Insets(0,10,0,10);//espacement autour du JPanel (top,left, bottom, right)
    	    _panelGauche.add(_panelMere, c);// on ajoute le JPanel "Mére" au JPanel "Arbre"
     
    //PANEL CANARI
    //C'est le canari dont on souhaite avoir ses ascendants et descendants
    	    _panelCanari  = new JPanel();
    	    _panelCanari.setPreferredSize(new Dimension(50,50));
    	    _panelCanari.setBorder(BorderFactory.createLineBorder(Color.black) );
    	    c.weightx = 0.0;
    	    c.gridx = 0;//colonne 0
    	    c.gridy = 1;// ligne 1
    	    c.gridwidth = 2;// prend la taille des 2 colonnes
    	    c.anchor = GridBagConstraints.CENTER; //bottom of space
    	    c.insets = new Insets(10,10,10,10);//espacement autour du JPanel (top,left, bottom, right)
    	    _panelGauche.add(_panelCanari, c);// on ajoute le JPanel "Canari" au JPanel "Arbre"
     
    //PANEL ENFANTS	    
    	    _panelEnfants  = new JPanel();
    	    _panelEnfants .setPreferredSize(new Dimension(50,50));
    	    _panelEnfants .setBorder(BorderFactory.createLineBorder(Color.black) );
    	    c.gridx = 0;//colonne 0
    	    c.gridy = 2;// ligne 2
    	    c.gridwidth = 2;// prend la taille des 2 colonnes
    	    c.insets = new Insets(10,10,0,10);//espacement autour du JPanel (top,left, bottom, right)
    	    _panelGauche.add(_panelEnfants , c);// on ajoute le JPanel "Enfants" au JPanel "Arbre"
     
    	   	this.setLayout(_borderLayoutGlobal);
    	    this.add(_jScrollGlobal, BorderLayout.CENTER);
     
    	   }
    Il doit me manquer un petit truc...
    Je ne dois pas être loin du but

    Merci pour votre aide

  5. #5
    Membre habitué 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
    Points : 185
    Points
    185
    Par défaut
    J'ai fait une bidouille mais elle me plâit moins !

    j'ai changé les insets du panel _panelCanari et _panelEnfants pour rogné sur la droite et la gauche afin d'obtenir la bonne taille .

    Avez-vous une autre solution?

  6. #6
    Rédacteur
    Avatar de bulbo
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2004
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Février 2004
    Messages : 1 259
    Points : 1 937
    Points
    1 937
    Par défaut
    Je pense que si tu mets le fill a NONE, le weightx a 0 et le anchor a CENTER cela devrait faire ce que tu veux ..

    Bonne chance,

    Bulbo

  7. #7
    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
    Bienvenu dans les joies de l'arborescence.

    Je te conseil (j'y suis déjà passé); de créer ton propre layout manager.

    Je dispose des composants JPanels en valeur absolue setBounds() dans un autre panel; lequel est ensuite placé dans un JScrollPane.

    J'utilise directement le DefaultTreeModel pour porter ma structure arborescente.

    L'algo est un peu difficile à mettre en place pour le calcul des positions (je n'ai pas la méthode la plus simple alors je te laisse cherché); de toute
    façon je suis un fana de la récursivité, que qui n'est pas le mieux ici peut etre.

    Tu peux regardé du coté de JGraph si ils n'ont pas déjà ce qu'il faut.

    PS: y a t-il un rapport avec le Ninjutsu Bujinkan 38 ième génération 8O

  8. #8
    Membre habitué 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
    Points : 185
    Points
    185
    Par défaut
    @Bulbo: T'es un chef .... nickel du premier coup
    beaucoup

    @Alec6: merci mour t'es conseils.... mais étant débutant j'aurai eu un peu de mal. J'apprend java en autodidacte car ce n'est pas mon métier. la solution de bulbo fonctionnant, je n'ai plus a me compliquer la vie ....
    Comme quoi, il faillait juste un coup d'oeil d'expert pour voir mes erreurs !
    thanks


    PS: y a t-il un rapport avec le Ninjutsu Bujinkan 38 ième génération
    Oui, je fais partie du Bujinkan Dôjô Grenoble. Je suis aussi la personne qui a codé le site ( encore en autodidacte mais cette fois en PHP )Et toi, tu fais du Nin?

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

Discussions similaires

  1. [Débutant] Quel Assembleur utiliser avec mon processeur AMD Athlon 64 ?
    Par cryosore94 dans le forum x86 32-bits / 64-bits
    Réponses: 19
    Dernier message: 11/03/2009, 10h38
  2. [Fortran 77][Débutant] Quel éditeur utiliser ?
    Par Roussillon dans le forum Fortran
    Réponses: 16
    Dernier message: 21/03/2008, 02h05
  3. Quel layout utiliser ?
    Par eclesia dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 13/11/2007, 10h18
  4. quel layout utiliser
    Par yasmine* dans le forum Agents de placement/Fenêtres
    Réponses: 11
    Dernier message: 19/01/2007, 20h07

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