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] Afficher du text qui n'est pas dans la liste


Sujet :

Composants Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Septembre 2008
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 23
    Points : 27
    Points
    27
    Par défaut [JComboBox] Afficher du text qui n'est pas dans la liste
    Bonjour,

    j'ai un énorme souci depuis un bon moment à cause d'une JComboBox. En effet je souhaiterai pouvoir y afficher du texte (donc mettre du texte comme s'il avait été sélectionné dans la liste) mais qui n'est pas à proprement dit dans la liste de la JComboBox.

    J'explique le contexte pour être plus précis. Je dois m'occuper d'un logiciel de gestion de factures. Pour chaque facture il y a un numéro de compte, affiché dans une JComboBox (il est possible de changer ce numéro de compte en allant choisir dans la liste).
    Il est possible d'ajouter ou supprimer un compte de la liste (par une fonction externe mais cela n'est pas très important). Seulement voila, je me trouve dans la situation ou je dois pouvoir créer des nouvelles factures avec 4 comptes différents (donc affiché dans la JComboBox). Mais lorsque j'affiche mes factures et qu'elles contiennent un ancien numéro de compte (présent dans la base de données et non dans la JComboBox), ce dernier ne s'affiche pas, et le compte possédant l'index 0 de la box est sélectionné.

    Sauriez-vous comment faire pour afficher le numéro de compte de la facture comme texte de la JComboBox, sans pour autant qu'il soit dans cette liste ?

    Le code actuel est ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    comboBox.setSelectedItem(facture.getNoCompte());
    Je comprend pourquoi il ne marche pas mais je n'arrive pas à trouver d'autres alternatives.

    Merci d'avance, et j'espère que j'ai été assez clair dans mes explications.

    Edit: Je précise que je ne souhaiterai si possible pas que la JComboBox soit éditable (au cas ou vous me conseilleriez d'utiliser un ComboBoxEditor)

  2. #2
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Il te suffit d'ajouter un Objet au model de ta JComboBox et de le sélectionner.

    Je ne vois pas trop où est le problème en fait.

  3. #3
    Membre expérimenté
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 050
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 050
    Points : 1 340
    Points
    1 340
    Par défaut
    Salut,

    Citation Envoyé par metaska Voir le message
    Mais lorsque j'affiche mes factures et qu'elles contiennent un ancien numéro de compte (présent dans la base de données et non dans la JComboBox), ce dernier ne s'affiche pas, et le compte possédant l'index 0 de la box est sélectionné.
    Je crois que si tu sélectionne (setSelectedItem(...)) un item dans le ComboBox et que cet item n'existe pas, alors il sélectionne le premier item.

    Citation Envoyé par metaska Voir le message
    Sauriez-vous comment faire pour afficher le numéro de compte de la facture comme texte de la JComboBox, sans pour autant qu'il soit dans cette liste ?
    Je crois que ton problème est avant tout un problème de conception que d'utilisation de la JComboBox. Les éléments présent dans ton Combo ne devraient-ils pas être le reflet du contenu de ta base ?

  4. #4
    Nouveau membre du Club
    Inscrit en
    Septembre 2008
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 23
    Points : 27
    Points
    27
    Par défaut
    Citation Envoyé par visiwi Voir le message
    Je crois que ton problème est avant tout un problème de conception que d'utilisation de la JComboBox. Les éléments présent dans ton Combo ne devraient-ils pas être le reflet du contenu de ta base ?
    Ouais effectivement j'ai pu constater que cela venait d'un problème de conception. Car je me suis retrouvé dans le cas ou je dois afficher dans la liste déroulante de la JComboBox seulement quelques éléments d'une base de données et d'afficher dans le text de la JComboBox (j'entends "texte" par ce qui est affiché lorsque la JComboBox est fermée) du text supplémentaire qui n'est pas dans la liste.

    Mais j'ai pu trouver un moyen (assez du bricolage j'avoue) mais ça servira comme solution temporaire pendant que je revois ma conception.
    Enfin voilà, merci quand même pour vos réponses

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 09/06/2011, 18h36
  2. [Toutes versions] Supprimer le texte qui n'est pas entre deux lignes
    Par vibos dans le forum VBA Word
    Réponses: 11
    Dernier message: 11/06/2009, 23h44
  3. elements qui n'est pas dans une liste
    Par KEnder dans le forum Général Python
    Réponses: 2
    Dernier message: 16/05/2008, 01h52
  4. [RegEx] highlight d'un mot qui n'est PAS dans un tag html.
    Par FMaz dans le forum Langage
    Réponses: 5
    Dernier message: 22/03/2006, 14h07
  5. Importer un .py qui n'est pas dans le rep courant
    Par Mr Hyde dans le forum Général Python
    Réponses: 5
    Dernier message: 25/08/2005, 17h30

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