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

Composants Java Discussion :

[JComboBox] Valeur mémorisée et valeur affichée


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 18
    Par défaut [JComboBox] Valeur mémorisée et valeur affichée
    Bonjour, j'ai une collection d'objets (de type Client qui est une classe que j'ai créée) et j'aimerais remplir une JComboBox à partir de cette collection. J'arrive à la remplir en affichant le nom et prénom du client mais ce ne me convient pas.

    Ce qui me faudrait c'est qu'il y ai une valeur affichée (nom & prénom) et une valeur mémorisée (une id) pour chaque item de la liste, comme c'est possible PHP en fait, on met
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <option value="val mémorisée">val affichée</option>
    . De cette manière, au lieu de traiter des chaines de caractères je traiterai des identifiants de type int, uniques, ce qui est beaucoup plus simple et rapide à l’exécution.

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Le JComboBox te fournit l'index de l'objet sélectionné.
    Cela ne te suffit pas ?
    Je ne comprend pas ou est ton problème.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 18
    Par défaut
    En fait j'ai besoin de ça pour un formulaire d'ajout de contrat. Et quand je créé un contrat j'ai besoin de l'ID du client pour l'ajouter à la base SQL. Et l'index ne sera pas forcément égal à l'ID, tu vois?

  4. #4
    Modérateur
    Avatar de XxArchangexX
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2012
    Messages
    1 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 159
    Par défaut
    bonsoir,

    Il me semble que tu ne peux pas faire cela avec une comboBox, la solution que je vois c'est une sorte de référentiel, hashMap par exemple, avec le nom prenom en clé et en associé le numéro au moment au tu cliques sur la valeur tu prend l'id client.

    Ou alors au moment de ta requête une jointure pour ajouter au contrat avec le nom prenom en jointure pour obtenir l'id.
    L'Etat est bien administré quand l'escalier de l'école est usé et que l'herbe croît sur celui du tribunal.

    Modérateur BI

  5. #5
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    La JComboBox contient une liste d'objets. Tu peux placer ce que tu veux dans dans les objets, notamment un "id".
    La récupération de l'objet se fait via l'index de sélection. Il suffit enfin de lire l'id contenu dans l'objet sélectionné.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 18
    Par défaut
    Citation Envoyé par XxArchangexX Voir le message
    bonsoir,

    Il me semble que tu ne peux pas faire cela avec une comboBox, la solution que je vois c'est une sorte de référentiel, hashMap par exemple, avec le nom prenom en clé et en associé le numéro au moment au tu cliques sur la valeur tu prend l'id client.

    Ou alors au moment de ta requête une jointure pour ajouter au contrat avec le nom prenom en jointure pour obtenir l'id.
    Hum, tu pourrais développer l'idée du référentiel stp, je ne sais pas ce que c'est?

  7. #7
    Modérateur
    Avatar de XxArchangexX
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2012
    Messages
    1 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 159
    Par défaut
    pas de soucis. Pour le concept un référentiel c'est un catalogue qui contient des choses par rapport à une clé. Pour faire une image de la chose le dictionnaire est un référentiel, si tu cherches un truc rond pour jouer au foot tu auras le mot ballon et si tu cherches c'est quoi un ballon tu auras un truc rond pour jouer au foot.

    Donc chaque clé du référentiel doit être unique pour avoir une symbolique qui lui est propre.

    De la en java il existe la structure HashMap qui permet d'associer une clé à n'importe quoi.

    Mon idée pour ton appli était au début de celle-ci, tu met en place le référentiel avec en clé NomPrenom de la personne et en associé l'identifiant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    HashMap <String, Integer> referentiel= new HashMap<String, Integer>();
    // avec une boucle pour remplir
    hashMap.put("FabienC",345);
    hashMap.put("TotoD",346);
    Ainsi dans ta comboBox quand tu selectionnes tu as

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    int val = referentiel.get(JComboBoxSelection);
    FonctionAFaire(val);
    Par rapport au post de dinobogan, je pensais que la comboBox ne prenait qu'un Vector de string pour afficher mais si elle prend des objets effectivement c'est une solution aussi.
    L'Etat est bien administré quand l'escalier de l'école est usé et que l'herbe croît sur celui du tribunal.

    Modérateur BI

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 19/02/2014, 13h28
  2. Combobox, Valeur affichée, Valeur mémorisée
    Par intomyhead dans le forum VB.NET
    Réponses: 8
    Dernier message: 01/11/2012, 23h18
  3. [FAQ][VBA-W] Mémoriser la valeur de variables word
    Par SfJ5Rpw8 dans le forum Contribuez
    Réponses: 1
    Dernier message: 24/05/2007, 18h13
  4. Réponses: 8
    Dernier message: 11/05/2007, 11h47
  5. RE: valeur 0 ne s'affiche pas
    Par Jess71 dans le forum Bases de données
    Réponses: 6
    Dernier message: 30/05/2005, 19h57

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