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 :

[JTable] Changer le contenu d'une seule cellule


Sujet :

Composants Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 12
    Points : 7
    Points
    7
    Par défaut [JTable] Changer le contenu d'une seule cellule
    Bonjour,
    Voilà j'ai une Jtable dans laquelle j'ai des combobox (pleins de combobox!!!).
    Le problème est que sur chaque ligne le contenu de ma combobox en colonne 2 dépend de ce que l'utilisateur a choisi dans la combobox de la colonne 1.
    En clair si l'utilisateur choisi "titi" dans la combobox 1 je veux que dans la comboBox 2 il est comme choix "tito" et "titu".
    Mais le problème est que je veux que le contenu dépende des lignes. C'est-à-dire que l'utilisateur peut choisir "titi" dans la combobox 1 de la ligne 1 et "riri" dans la combobox de la ligne 2.

    Donc il faut que je trouve un moyen d'initialiser au cas pas cas chacune de mes combobox.

    Donc si vous avez une solution....
    Merci

  2. #2
    Membre averti Avatar de biozaxx
    Profil pro
    Inscrit en
    Août 2004
    Messages
    403
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 403
    Points : 375
    Points
    375
    Par défaut
    salut,

    il faut que tu utilises un CellEditor (DefaultCellEditor) pour chaque cellule
    tu creeras ainsi une combobox differente pour chaque ligne

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    Merci pour la réponse mais c'est ce que j'ai fait. Mais le problème c'est que le cellEditor est placé sur une colonne et non pas sur une ligne... Donc si je change ce qu'il y a dans la combobox 2 de la ligne 1, ca changera aussi ce qu'il y a dans la combobox 2 de la ligne 2 :s

  4. #4
    Membre averti Avatar de biozaxx
    Profil pro
    Inscrit en
    Août 2004
    Messages
    403
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 403
    Points : 375
    Points
    375
    Par défaut
    parceque tu utilises la mm combo pour chaque ligne ...
    il faut que tu construises ta combo dynamiquement, j'ai eu le meme probleme il y a quelque mois

    voici le lien du poste

    http://<br /> http://www.developpez...ghlight=<br />

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    Ok merci mais en fait j'avais déjà regardé ce post sans comprendre le fonctionnement :s.
    Dans la réponse il y a editorComponent à quoi correspond cette editorComponent?

    Bon moi ce que je fais pour l'instant c'est ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
            vColIndex = 4;
            listOfValues = new ArrayList();
            col = tableConditions.getColumnModel().getColumn(vColIndex);
            col.setCellEditor(new DefaultCellEditor(new JComboBox(listOfValues
                    .toArray())));
            col.setCellRenderer(new DefaultTableCellRenderer());
    Et ensuite je voudrais changer listOfValues suivant la ligne sur laquelle je suis. Mais je vois pas comment...

    Merci d'avance

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    Ah et aussi j'ai un autre problème. Dans une seule case du tableau je ne dois pas avaoir de comboBox... Comment faire alors que toutes les autres cases doivent contenir des comboBox?

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    Bon alors finalement j'ai compris ce qu'était editorComponent

    Donc maintenant j'ai bien différentes listes associées à mes différentes lignes. Le problème est qu'il faudrait que ce soit dynamique. Car pour l'instant la bonne liste s'affiche uniquement quand je clique sur la combobox.

    Je suis pas sûre d'être claire...

    Alors je reprends : disons que j'ai une table avec 2 colonnes A et B et 3 lignes 1, 2 et 3.
    Alors le contenu de la combobox B de la ligne 1 dépend de la valeur qui a été choisie dans la combobox A de la ligne 1.
    Donc à l'heure actuelle le contenu de la combobox B dépend bien de celui de A mais on ne voit cette dépendance que lorsqu'on clique sur B.

    Par exemple si je choisis "titi" dans A alors les valeurs possibles pour B sont "titu" et "tita". Je choisis donc "titu" pour B.
    Le problème est que si maintenant je choisis "riri" dans A et bien les valeurs possibles pour B sont "riru" et "rira", or comme j'avais choisis "titu" titu reste sélectionner tant que je n'ai pas cliqué sur la combobox B.
    L'idéal serait que quand je change de valeur dans A la valeur dans B devienne vide ou soit initialisée à une valeur déterminée.

    Donc si quelqu'un a une solution...

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    C'est bon plus la peine de chercher j'ai trouvé!
    Il fallait coupler ce que biozaxx avait fait avec un listener sur la table.
    Merci pour l'aide quand même

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

Discussions similaires

  1. [SWING] Jtable changement du contenu d'une cellule
    Par tchoukapi dans le forum Composants
    Réponses: 5
    Dernier message: 07/11/2007, 03h03
  2. Changer la couleur d'une seule cellule d'une table
    Par kinouseb dans le forum WinDev
    Réponses: 1
    Dernier message: 02/07/2007, 08h47
  3. Changer la couleur d'une seule cellule
    Par omgirl dans le forum Windows Forms
    Réponses: 4
    Dernier message: 06/02/2007, 10h24
  4. [JTable] Changer la couleur d'une cellule
    Par Freak49 dans le forum Composants
    Réponses: 1
    Dernier message: 06/10/2005, 18h11
  5. [JTable] Sélection d'une seule cellule
    Par Amara dans le forum Composants
    Réponses: 2
    Dernier message: 01/06/2005, 14h48

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