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

Interfaces Graphiques en Java Discussion :

récuperer vector dans liste pour combobox


Sujet :

Interfaces Graphiques en Java

  1. #21
    Membre éclairé Avatar de BizuR
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    688
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 688
    Points : 757
    Points
    757
    Par défaut
    Pour la mise à jour de la liste, c'est pas bien dur :

    Dans ton listener de combobox :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public void onStateChanged(...){
         if (jcombobox.getSelectedItem().equals("nouvelle entreprise")){
              ajoutEntreprise(); //methode qui ajoute une nouvelle entreprise
              MAJList();
         }
    (...autres cas...)
    }
    Et ton MAJList()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    MAJList(){
         jcombobox.removeAllItem();
         jcombobox.setModel(new DefaultComboBoxModel(vectorIHM);
    }
    Et voila, le tour est joué
    NB: Ne pas oublier d'appeler cette méthode lors de modification d'entreprise mais aussi de suppression
    See you, space cowboy... and if you're satisfied, click on

  2. #22
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 65
    Points : 20
    Points
    20
    Par défaut
    voici mon listener:

    code:
    ComboBoxEntreprise.addItemListener(new java.awt.event.ItemListener()
    {
    public void itemStateChanged(java.awt.event.ItemEvent e)
    {
    if(e.getItem() == "Nouvelle Entreprise")
    {
    //FenAjoutEntrep.getDialogAjoutEntrep().setModal(true);
    FenAjoutEntrep.getDialogAjoutEntrep().setVisible(true);
    }

    else if (e.getItem()!="Nouvelle Entreprise")
    FenAjoutEntrep.getDialogAjoutEntrep().setVisible(false);
    }

    });
    ComboBoxEntreprise.addActionListener(new java.awt.event.ActionListener()
    {
    public void actionPerformed(java.awt.event.ActionEvent e)
    {
    int index;
    if (e.getSource()== ComboBoxEntreprise)
    index = ComboBoxEntreprise.getSelectedIndex();
    }
    });

    listeEntreprise = TableauEntreprise.getListeEntreprise();

    for(TableauEntreprise taben : listeEntreprise)
    {
    ComboBoxEntreprise.addItem(taben.toString());
    }
    Il faut que j'ajoute ce que tu m'a dit ici?!
    Merci encore bizur

  3. #23
    Membre éclairé Avatar de BizuR
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    688
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 688
    Points : 757
    Points
    757
    Par défaut
    Voici ton code formaté :
    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
    [...]//debut de la creation de ta combobox
    ComboBoxEntreprise.addItemListener(new java.awt.event.ItemListener() {
         public void itemStateChanged(java.awt.event.ItemEvent e){
              if(e.getItem() == "Nouvelle Entreprise"){
                   //FenAjoutEntrep.getDialogAjoutEntrep().setModal(true);
                   FenAjoutEntrep.getDialogAjoutEntrep().setVisible(true);
                   MAJList(); //appel à la mise à jour de la liste
              }
              else if (e.getItem()!="Nouvelle Entreprise")
                   FenAjoutEntrep.getDialogAjoutEntrep().setVisible(false);
         }
    });
    
    ComboBoxEntreprise.addActionListener(new java.awt.event.ActionListener(){
         public void actionPerformed(java.awt.event.ActionEvent e){
              int index;
              //PAS COMPRIS L'INTERET DE CES LIGNES ;)
              if (e.getSource()== ComboBoxEntreprise)
                   index = ComboBoxEntreprise.getSelectedIndex();
         }
    });
    
    MAJList();//appel a la construction de la liste
    } // fin de la creation de ta combobox
    
    public void MAJList(){
         Vector listeEntreprise = TableauEntreprise.getListeEntreprise();
         for(TableauEntreprise taben : listeEntreprise){
             ComboBoxEntreprise.addItem(taben.toString());
         }
    }
    See you, space cowboy... and if you're satisfied, click on

  4. #24
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 65
    Points : 20
    Points
    20
    Par défaut
    heu...

    Merci Bizur mais ça marche tjrs pas

    Je vais voir si je peux changer un truc et réussir a débogger, je te remercie de ton aide et quand j'aurai réussi je mettré "Résolu" lol

  5. #25
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 65
    Points : 20
    Points
    20
    Par défaut
    en fait dans ma combobox ça me met (aprés la mise a jour) 2 fois "Nouvelle entreprise" et 2fois aussi l'item vide que j'ai crée

  6. #26
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 65
    Points : 20
    Points
    20
    Par défaut
    Mais bien sûr tjrs pas la nouvelle entreprise

  7. #27
    Membre éclairé Avatar de BizuR
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    688
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 688
    Points : 757
    Points
    757
    Par défaut
    A vrai dire, personnellement, je comprend pas tout a fait ton TableauEntreprise.java, il me semble un poil incomplet ... m'enfin.

    J'aurai plutot vu un truc comme cela quitte a suivre ta démarche :
    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
    public class Entreprise {
         //declaration du tableau qui liste toutes tes instances entreprises
         private static Vector listeEntreprises=new Vector();
         //attributs d'une entreprise
         private String nomEtp;
         [...]
    
         public Entreprise(_nomEtp){
              this.nomEtp=_nomEtp;
              Entreprise.ajouterEntreprise(this);
         }
    
         [...] //getters, setters et autres méthodes diverses
    
         //ajoute une entreprise à la liste static
         //permet de verifier les non redondances
         private static void ajouterEntreprise(Entreprise etp){
              [...] //verifications diverses
              listeEntreprises.add(etp);
         }
    
         //renvoie un clone de la liste fonctionnelle des entreprises
         public static Vector getListeEntreprises(){
              return listeEntreprises.clone();
         }
    
         //renvoie un vecteur temporaire des labels de la liste des entreprises
         //utile pour afficher dans JList ou JComboBox
         public static Vector getLabelsEntreprises(){
              Vector vecteurLabels=new Vector();
              //ajout des valeurs par défaut
              vecteurLabels.add("");
              vecteurLabels.add("Nouvelle entreprise");
              //ajout des entreprises créées
              for(int i=0;i<listeEntreprises.size();i++){
                   vecteursLabels.add((Entreprise)listeEntreprises(i).getNomEntreprise());
              }
              return vecteurLabels;
         }
    }
    En espérant que ca pourrait t'aider...
    See you, space cowboy... and if you're satisfied, click on

  8. #28
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 65
    Points : 20
    Points
    20
    Par défaut
    En fait j'ai appellé ma classe TableauEntreprise car j'ai déja une classe entreprise:
    http://cjoint.com/?ibqc7bhuxL

    enfin c'est juste pour comprendre

  9. #29
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 65
    Points : 20
    Points
    20
    Par défaut
    heu... bon... je crois que je vais reprendre et essayer de faire comme tu m'a dit Bizur

  10. #30
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 65
    Points : 20
    Points
    20
    Par défaut
    a y'être voici aussi la classe où je crée mon interface et la combobox (avec son listener) en question
    (ligne 980 ~)

    http://cjoint.com/?ibqligOSL6


  11. #31
    Membre éclairé Avatar de BizuR
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    688
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 688
    Points : 757
    Points
    757
    Par défaut
    Hum un peu de refactoring de code serait le bienvenu
    Si j'étais toi, dans un souci de maintenant et d'eovlutivité, je découperai tout de même un peu plus encore mes classes afin d'affiner réellement le modèle et assurer une clarté de code plus intéressante.

    Par exemple, pourquoi ne pas externaliser la barre de menu ? Quelques panels principaux ?
    Tu peux aussi rassembler toutes tes opérations dans des fonctions plus génériques comme lockTextFields(boolean value) (qui met tout en editable ou non).

    En bref, tu y serais gagnant en maintenance et les personnes qui reprendraient ton appli seront également gagnante pour comprendre plus vite l'ensemble de ton organisation de code.

    NB: evidemment, cela tient plus du conseil que de l'ordre hein ... si tu t'y retrouves, c'est aussi bien pour toi, mais quand tu codes, essaie de penser surtout à ceux qui passent après .
    See you, space cowboy... and if you're satisfied, click on

  12. #32
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 65
    Points : 20
    Points
    20
    Par défaut
    oki merci mais ya pas longtemps on m'a dit que je faisais trop de classes alors j'ai essayer d'en faire moins et de mettre (pour l'interface par exple) tout ce qui se rapporte a l'interface a l'intérieur.
    Desormais je séparer plus, promis....

  13. #33
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 65
    Points : 20
    Points
    20
    Par défaut
    Bon en fait je vais recommencer et faire un vector pour les entreprises a la place d'un tableau avec une liste

  14. #34
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 65
    Points : 20
    Points
    20
    Par défaut
    Donc oui maintenant ça marche bien voila, si qqun a des questions ou a besoin d'un morceau de code no problem!!!

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [QtGui] Récuperer l'objet cliqué dans une liste et combobox
    Par LinC49 dans le forum PyQt
    Réponses: 3
    Dernier message: 16/05/2012, 09h52
  2. Réponses: 1
    Dernier message: 28/11/2006, 07h23
  3. Problème pour récuperer donnée dans un txt
    Par Maldus dans le forum Delphi
    Réponses: 4
    Dernier message: 15/10/2006, 21h19
  4. Réponses: 8
    Dernier message: 04/08/2006, 01h51
  5. Obliger de prendre dans la liste du combobox
    Par Yphon dans le forum Composants VCL
    Réponses: 3
    Dernier message: 20/01/2006, 15h27

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