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 :

programmer le bouton refresh sur une jtable


Sujet :

Composants Java

  1. #1
    Membre régulier
    Profil pro
    Sr. Software Engineer
    Inscrit en
    Août 2007
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Software Engineer

    Informations forums :
    Inscription : Août 2007
    Messages : 169
    Points : 118
    Points
    118
    Par défaut programmer le bouton refresh sur une jtable
    salut

    je voudrais programmer un bouton refresh sur une jtable. celui devrant permettre de raffraichir la jtable par des données de la bd si d'autre utilisateur sur d'autre fenètre ajoute des données.
    j'ai essayer de réinitialiser complètement la jtable par la requète select en sql mais ca ne marche pas.

    est ce que quelqu'un pourrait me faire de propositions?

    merci

  2. #2
    Membre habitué Avatar de arnaud036
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2007
    Messages : 201
    Points : 172
    Points
    172
    Par défaut
    Salut,

    il faut que tu creer ton propre model de Jtable heritant de la classe AbstractTableModel. Et ensuite jouer avec les metodes firedatachanged()... etc.

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    import javax.swing.table.AbstractTableModel;
     
    public class MaTable extends AbstractTableModel{
    private static final long serialVersionUID = 8083956857937064934L;
     
    private String[] columnHeader = null;
    private Object[][] rows = new Object[0][0];
     
    public Object getValueAt(int arg0, int arg1) {
     
    return rows[arg0][arg1];
    }
     
    public void setHeader(String[] newHeaders){
    columnHeader = newHeaders;
    super.fireTableStructureChanged();
    }
     
    public int getColumnCount() {
    return this.columnHeader.length;
    }
     
    public String getColumnName(int column) {
    return this.columnHeader[column];
    }
     
    public int getRowCount() {
    return this.rows.length;
    }
     
    public boolean isCellEditable(int row, int column) {
    // Aucune cellule éditable
    return false;
    }
     
    //Fonction qui va s'occupper de remettre à jour tout mon tableau et qui va mettre
    //à jour aussi l'affichage
    public void setData(Object[][] newData){
    rows = newData;
    super.fireTableDataChanged();
    }
    }
    Et ensuite...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    model = new MaTable();
    		model.setHeader(titreColonnesBoiteReception);
    		model.setData(donnees);
    		jtable = new JTable(model);
    		JScrollPane scrollpane = new JScrollPane(jtable);
    Voila ....

  3. #3
    Membre régulier
    Profil pro
    Sr. Software Engineer
    Inscrit en
    Août 2007
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Software Engineer

    Informations forums :
    Inscription : Août 2007
    Messages : 169
    Points : 118
    Points
    118
    Par défaut
    slt anrnaud036

    je dispose déja d'un modèle de jtable qui contient toute ce que t'a mis dans le tiens. mais je voudrais savoir concrètement quel est le code de l'actionPerformed du bouton refresh que je dois progrmmer pour qu'il fasse ce boulot. stp file moi un exemple de ce code si possible.

    merci

  4. #4
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    Dans le code de ton actionPerformed de ton bouton refresh tu peux :
    - récupérer les données à jour de ta base
    - faire un setData de ton modèle avec ces nouvelles données

    Comma ta méthode setData contient le fireTable... ton JTable devrait se rafraichir.

  5. #5
    Membre habitué Avatar de arnaud036
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2007
    Messages : 201
    Points : 172
    Points
    172
    Par défaut
    Tu a juste a changer les donnée de ton tableau de donnee et de faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    model.setData(donnees);
    et le tour est jouer

  6. #6
    Membre régulier
    Profil pro
    Sr. Software Engineer
    Inscrit en
    Août 2007
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Software Engineer

    Informations forums :
    Inscription : Août 2007
    Messages : 169
    Points : 118
    Points
    118
    Par défaut
    slt

    merci à tous pour vos reponse en fait l'erreur venait de mon code car je n'appellais pas la bonne procedure lors du clic dur le bouton refresh( ce sont les conséquences de la fatigue!) .
    dc finalement c'est bien model.setData(newData) qui ressoud le pb


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

Discussions similaires

  1. Auto refresh d'une JTable sur Jinternal JDK1.5
    Par murgen23 dans le forum EDT/SwingWorker
    Réponses: 2
    Dernier message: 08/09/2008, 11h20
  2. Recupérer un évènement sur une JTable
    Par pkdev dans le forum Composants
    Réponses: 2
    Dernier message: 06/12/2005, 11h19
  3. [jTable] Gérer clik droit sur une jTable vide
    Par serwol dans le forum Composants
    Réponses: 4
    Dernier message: 01/12/2005, 10h06
  4. [Programmation distribuée] Votre avis sur une archi
    Par Acarp47 dans le forum Plateformes (Java EE, Jakarta EE, Spring) et Serveurs
    Réponses: 7
    Dernier message: 29/06/2005, 14h01
  5. Non réception d'un evènement sur une JTable
    Par Kant dans le forum Composants
    Réponses: 4
    Dernier message: 28/05/2004, 10h38

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