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

AWT/Swing Java Discussion :

Problème d'affichage des onglets dans JTabbedPane


Sujet :

AWT/Swing Java

  1. #1
    Inactif
    Homme Profil pro
    Consultant CRM
    Inscrit en
    Mai 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Consultant CRM
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2008
    Messages : 18
    Points : 24
    Points
    24
    Par défaut Problème d'affichage des onglets dans JTabbedPane
    Bonjour,

    j'ai un problème dans mon programme, je veux afficher pour chaque onglet de JTabbedPane un ensemble des information "Tableu + champ de text ..."

    Bon, j'ai réussi a afficher ces champs dans un onglet, mais le problème c'est que lors ce que j 'ai fait entré mon code dans une boucle pour faire apparaitre dans tous les onglets, j'ai seulement l'affichage dans le dernier onglet...

    Voila mon 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
    61
    62
    63
    64
    65
    66
    67
    JPanel jpOptSec0= new JPanel[nb];
     
     
    for (i=0;i<nb-1;i++)
    {
     
     
     
    jpOptSec0[i]= new JPanel();
     
    jpOptSec0[i].setLayout(new BoxLayout(jpOptSec0[i], BoxLayout.Y_AXIS));
    jpOptSec0[i].setBorder(BorderFactory.createTitledBorder(nom_etape[i]));
    jpOptSec0[i]=get_Afficher(jpOptSec0[i],nom_etape[i],i);
     
    jpOptSec0[i].setLayout(null);
     
     
    }
     
     
     
    private JPanel get_Afficher(JPanel jpOptSec,String nom_Etap,int i)
    {
    /*********************************************************************************************/
     
    //////// 0 /////////////////////////
    jpOptSec.setLayout(new BoxLayout(jpOptSec, BoxLayout.Y_AXIS));
    jpOptSec.setLayout(null);
     
    jpOptSec.add(jl_ND).setBounds(340, 10, 100, 30);
    jpOptSec.add(jt_ND).setBounds(340, 40, 80, 30);
     
    jpOptSec.add(jl_SD).setBounds(240, 10, 100, 30);
    jpOptSec.add(jt_SD).setBounds(240, 40, 80, 30);
     
    jpOptSec.add(jl_NF).setBounds(540, 10, 100, 30);
    jpOptSec.add(jt_NF).setBounds(540, 40, 80, 30);
     
    jpOptSec.add(jl_SF).setBounds(440, 10, 100, 30);
    jpOptSec.add(jt_SF).setBounds(440, 40, 80, 30);
     
    jpOptSec.add(jspSP).setBounds(8, 80, 1030, 150);
     
    jpOptSec.add(jt_Commentaire).setBounds(100, 240, 930, 30);
    jpOptSec.add(jl_Commentaire).setBounds(10, 240, 100, 30);
     
    jpOptSec.add(jtprogramme).setBounds(250, 350, 150, 30);
    jpOptSec.add(jlProgramme).setBounds(150, 350, 100, 30);
     
    jpOptSec.add(jt_Param).setBounds(500, 320, 150, 80);
    jpOptSec.add(jl_Parametre ).setBounds(420, 320, 150, 80);
     
    jpOptSec.add(jt_Val).setBounds(720, 350, 150, 30);
    jpOptSec.add(jl_Valeur).setBounds(660, 350, 150, 30);
     
     
     
     
    ///////////////////////////////////////////////
     
     
    jtpOpt.addTab(" ("+(i+1)+") "+ nom_Etap, jpOptSec);
     
    ///////////////////////////////////////////////
     
    return jpOptSec;
    }
    Merci bcccpp

  2. #2
    Membre chevronné
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Points : 2 197
    Points
    2 197
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    jpOptSec.setLayout(new BoxLayout(jpOptSec, BoxLayout.Y_AXIS));
    jpOptSec.setLayout(null);
    A quoi ça sert de faire un setLayout(quelque chose) si c'est pour faire un setLayout(null) à la ligne en-dessous ?
    Tu fais également des setLayouts dans ta boucle for, pourquoi?

    ps : les layouts null sont à éviter.

  3. #3
    Inactif
    Homme Profil pro
    Consultant CRM
    Inscrit en
    Mai 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Consultant CRM
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2008
    Messages : 18
    Points : 24
    Points
    24
    Par défaut
    ouiii j'ai déjà ecrit ces deux linx dans la boucle.
    je vais la supprimé, mais le probleme reste toujours

    Merciii

    Citation Envoyé par morph41 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    jpOptSec.setLayout(new BoxLayout(jpOptSec, BoxLayout.Y_AXIS));
    jpOptSec.setLayout(null);
    A quoi ça sert de faire un setLayout(quelque chose) si c'est pour faire un setLayout(null) à la ligne en-dessous ?
    Tu fais également des setLayouts dans ta boucle for, pourquoi?

    ps : les layouts null sont à éviter.

  4. #4
    Inactif
    Homme Profil pro
    Consultant CRM
    Inscrit en
    Mai 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Consultant CRM
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2008
    Messages : 18
    Points : 24
    Points
    24
    Par défaut
    si je supprime setLayout(null), je vais avoir des problèmes dans l'emplacement des champs "champs de texte, tableau... " dans l'ongle

    Merci

    Citation Envoyé par assehl Voir le message
    ouiii j'ai déjà ecrit ces deux linx dans la boucle.
    je vais la supprimé, mais le probleme reste toujours

    Merciii

  5. #5
    Membre chevronné
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Points : 2 197
    Points
    2 197
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    jpOptSec0[i]=get_Afficher(jpOptSec0[i],nom_etape[i],i);
    revient à faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    get_Afficher(jpOptSec0[i],nom_etape[i],i);
    L'objet sera modifié dans la méthode get_Afficher.

    Cela ne corrigera peut-être pas le code mais ça permet d'y voir plus clair. Peut-tu le reposter avec les corrections?

  6. #6
    Inactif
    Homme Profil pro
    Consultant CRM
    Inscrit en
    Mai 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Consultant CRM
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2008
    Messages : 18
    Points : 24
    Points
    24
    Par défaut
    voila le code avec la MAJ,


    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
    61
    62
    63
    64
    65
    66
    67
    JPanel jpOptSec0= new JPanel[nb];
     
     
    for (i=0;i<nb-1;i++)
    {
     
     
     
    jpOptSec0[i]= new JPanel();
     
     
    jpOptSec0[i].setBorder(BorderFactory.createTitledBorder(nom_etape[i]));//nom_etape[i]    //c'est le nom pour chaque onglet dans le Border       
    get_Afficher(jpOptSec0[i],nom_etape[i],i);
     
     
     
     
    }
     
     
     
    private void get_Afficher(JPanel jpOptSec,String nom_Etap,int i)
    {
    /*********************************************************************************************/
     
    ////////////////////////////////
     
    jpOptSec.setLayout(null);
     
    jpOptSec.add(jl_ND).setBounds(340, 10, 100, 30);
    jpOptSec.add(jt_ND).setBounds(340, 40, 80, 30);
     
    jpOptSec.add(jl_SD).setBounds(240, 10, 100, 30);
    jpOptSec.add(jt_SD).setBounds(240, 40, 80, 30);
     
    jpOptSec.add(jl_NF).setBounds(540, 10, 100, 30);
    jpOptSec.add(jt_NF).setBounds(540, 40, 80, 30);
     
    jpOptSec.add(jl_SF).setBounds(440, 10, 100, 30);
    jpOptSec.add(jt_SF).setBounds(440, 40, 80, 30);
     
    jpOptSec.add(jspSP).setBounds(8, 80, 1030, 150);
     
    jpOptSec.add(jt_Commentaire).setBounds(100, 240, 930, 30);
    jpOptSec.add(jl_Commentaire).setBounds(10, 240, 100, 30);
     
    jpOptSec.add(jtprogramme).setBounds(250, 350, 150, 30);
    jpOptSec.add(jlProgramme).setBounds(150, 350, 100, 30);
     
    jpOptSec.add(jt_Param).setBounds(500, 320, 150, 80);
    jpOptSec.add(jl_Parametre ).setBounds(420, 320, 150, 80);
     
    jpOptSec.add(jt_Val).setBounds(720, 350, 150, 30);
    jpOptSec.add(jl_Valeur).setBounds(660, 350, 150, 30);
     
     
     
     
    ///////////////////////////////////////////////
     
     
    jtpOpt.addTab(" ("+(i+1)+") "+ nom_Etap, jpOptSec);
     
    ///////////////////////////////////////////////
     
     
    }

    merci bcccpp

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/03/2009, 10h47
  2. Réponses: 5
    Dernier message: 29/09/2008, 08h52
  3. Réponses: 2
    Dernier message: 12/09/2008, 11h30
  4. Réponses: 5
    Dernier message: 26/12/2007, 23h20
  5. Réponses: 1
    Dernier message: 06/03/2003, 11h57

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