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 :

Combo box, table et listener


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Janvier 2005
    Messages
    491
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 491
    Par défaut Combo box, table et listener
    Hello,

    Je dispose d'une JTable contenant 3 colonnes (String). Parallèlement à cela, j'ai 3 combo box uniques, correspondant chacune aux trois colonnes d'une ligne séléctionnée, qui permettent d'afficher & de modifier les valeurs d'une ligne de la table lorsqu'on la sélectionne.

    Ainsi, lorsque je sélectionne une ligne, je change l'item séléctionné pour chacune des combo box afin qu'ils correspondent aux cases correspondante pour la ligne sélectionnée. De même, lorsque la valeur d'une des trois combo box est changée par l'utilisateur, je met a jours cette valeur dans la colonne correspondant à la combo box pour la ligne sélectionnée.

    Mon problème est le suivant:

    Lorsque je sélectionne une nouvelle ligne, un évènement est envoyé pour changer l'item des combo box, qui eux même manifestement lancent un autre évènement signifiant qu'ils ont été changés ce qui implique la modification de la valeur dans le tableau (puisque je récupère les évènement de changement des items d'un combo box).

    Bref une sorte de boucle, qui pose problème car la valeur de la case du tableau est parfois changé avant avant que l'item ait été changé (et donc prend l'ancienne valeur), parfois non...

    Voilà, j'espère avoir été clair... La solution serait de mettre un combo box directement dans chacune des cases du tableau, mais je suis partis comme décrit plus haut car je pensait que ca serait plus facile a implémenter...

    Je voulais donc savoir si vous pensez que je peux garder cette manière de faire en évitant ce problème

    Merci d'avance

  2. #2
    Membre éprouvé Avatar de bygui
    Homme Profil pro
    PLM/ALM
    Inscrit en
    Avril 2006
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : PLM/ALM
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 133
    Par défaut
    bonjour,
    Je dois avouer que ce n'est pas très clair comme explication.
    Tout d'abord il n'est pas tres dur de mettre des Composants graphiques comme des JCombobox dans un tableau.

    Pour la solution que tu as choisi:
    - un listener s'applique lors d'une selection d'une ligne de ton tableau -> met à jour les comboBox.
    - un action listener s'applique sur ta combobox -> verifie que la valeur de ta cellule correspond a celle selectionnée et la change sinon.

    Voilou

Discussions similaires

  1. [WB17] combo box et tables
    Par Nassimux dans le forum WebDev
    Réponses: 12
    Dernier message: 22/05/2013, 14h26
  2. [AC-2010] Combo box dans table ou formulaire?
    Par ultima67 dans le forum Modélisation
    Réponses: 2
    Dernier message: 15/10/2012, 22h16
  3. [VBA-E] Contenu d'une combo box = champ d'une table SQL
    Par Tartenpion dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/02/2006, 20h30
  4. Réponses: 2
    Dernier message: 11/05/2004, 11h17
  5. Combo box et liste de valeurs contenues dans ma table
    Par TieumB dans le forum C++Builder
    Réponses: 14
    Dernier message: 05/04/2004, 18h47

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