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 :

Editer les cases d'une jTable


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Avril 2012
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Avril 2012
    Messages : 8
    Par défaut Editer les cases d'une jTable
    Salut à tous,

    Dans mon projet j'ai une liste des états affichés à gauche de mon écran, j'aimerai que quand je clique sur l'un de ces états les informations le concernant s'affiche à droite dans des tableaux (pour un meilleur affichage).
    J'ai crée un MouseListener sur les états affichés qui me permet de récupéré l'id de l'état sélectionné. J'exécute ensuite une requête dans la base de données qui me retourne toutes les informations que j'ai besoin d'afficher dans les tableaux.
    Mon problème est comment mettre les informations récupérées dans les cellules des tableaux, sachant que j'ai déjà définis mes jTable.

    Merci d'avance!

  2. #2
    Membre confirmé
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2012
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Avril 2012
    Messages : 57
    Par défaut
    Salut,

    Tout d'abord sache que je ne suis pas un expert, je débute en Java. Mais j'ai eu l'occasion de travailler avec des JTable dernièrement alors je pourrais peut être t'aider.

    Je n'ai pas tout compris à ce que t'as expliqué mais si je ne me trompe pas, ton soucis c'est d'ajouter des lignes sur ta JTable sachant que t'as déjà les informations stockées quelque part?

    Tu pourrais nous montrer comment t'as initialisé ta JTable?
    Ce qui m’intéresse le plus c'est ton modèle à vrai dire.

    Je te montre comment moi je fais, en espérant que ça puisse t'aider:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    MonModele model = new MonModele();
    JTable maTable = new JTable(model)

    Quant au code de la classe 'MonModele', ça devrait ressembler à quelque chose dans ce style là:

    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
     
    public class MonModele extends AbstractTableModel{
         private List<maLigne> donnesDeLaTable = new ArrayList<>();
         private final String entetes = {"colonne1","colonne2"};
     
         public MonModele(){
              super();
         }
     
         @Override
         public String getColumnName(int columnIndex){
              return entetes[columnIndex];
         }
     
         @Override
         public String getValueAt(int rowIndex, int columnIndex){
              switch(columnIndex){
                   case 0: 
                        return donnesDeLaTable.get(rowIndex).getVariableColonne1();
                   case 1: 
                        return donnesDeLaTable.get(rowIndex).getVariableColonne2();
                   default: 
                        return null;
         }
     
         /*.... Tu surcharges aussi les méthodes getColumnCount(), setValueAt(...), etc...
         Si tu rencontres des problèmes n'hésite pas à nous le faire part*/
    }
    Bref après t'as juste à créer une méthode ajouterLigne(maLigne) à ton modèle:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public void ajouterLigne(maLigne ligne) {
            donnesDeLaTable.add(ligne);
            //met à jour le nombre de lignes de la table
            fireTableRowsInserted(donnesDeLaTable.size() -1, donnesDeLaTable.size() -1);
    }
    Voilà je sais que ce n'est pas parfait mais je pense que c'est déjà un bon début.


    EDIT: si ça ne t'as pas aidé je t'invite aussi à lire ce cours: Cours sur les JTable
    Bon courage!

  3. #3
    Membre habitué
    Inscrit en
    Avril 2012
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Avril 2012
    Messages : 8
    Par défaut
    Ok ok! Apparemment je me suis très mal expliquée

    Bref,
    J'ai un Jtable que j'ai crée graphiquement avec NetBeans. Il contient plusieurs colonnes et une seule ligne (qui me suffit largement).
    Le but n'est pas d'ajouter des lignes, mais de remplir celle-ci avec des données récupérées de la bdd. Ces données changement selon l'état sélectionné (j'ai fait un mouselistener) mais je n'ajoute jamais de lignes.
    Au clic, des données apparaissent.

    Voilà en gros ce que c'est!
    Merci beaucoup.

  4. #4
    Membre confirmé
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2012
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Avril 2012
    Messages : 57
    Par défaut
    Essaye ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    jTable1.getModel().setValueAt("La donnée à insérer", indexDelaLigne/*c'est à dire 0*/, indexDeLaColonne);

Discussions similaires

  1. Réponses: 4
    Dernier message: 26/07/2007, 13h41
  2. Conserver les éléments d'une JTable
    Par toto10 dans le forum Composants
    Réponses: 10
    Dernier message: 11/05/2006, 17h13
  3. Transférer les données d'une JTable vers une autre
    Par rollbich dans le forum Composants
    Réponses: 4
    Dernier message: 19/01/2006, 23h22
  4. [JTABLE]trier et filtrer les données d'une jTable
    Par mehdi82 dans le forum Composants
    Réponses: 4
    Dernier message: 15/12/2005, 17h59
  5. Editer les champs d'une listview
    Par anikeh dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 27/10/2005, 17h02

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