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 :

Problèmes de rafraichissement JTable avec un TableModel


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2007
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2007
    Messages : 109
    Par défaut Problèmes de rafraichissement JTable avec un TableModel
    Bonjour à tous,

    je sais que le sujet à était vu et revu mais je n'arrive pas à résoudre mon problème pour autant.

    Ci dessous mon code :
    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
     
    private JPanel _ongletScriptDistant;
    private JTable _tableAbsentDistant;
    private JScrollPane _spAbsentDistant;
     
    [...]
     
    this._tableAbsentDistant=new JTable(new MyTableModel());
    this._tableAbsentDistant.getModel().addTableModelListener(this);
    		this._tableAbsentDistant.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
    this._tableAbsentDistant.setMinimumSize(new Dimension(700,300));
     
    this._spAbsentDistant=new JScrollPane(this._tableAbsentDistant);
    this._spAbsentDistant.setMinimumSize(new Dimension(700,300));
     
    con.gridx=1;
    con.gridy=1;
    this._ongletAbsentDistante.add(this._spAbsentDistant,con);
     
    [...]
     
    private void MAJAbsentDistant(ArrayList<ArrayList<String>> listesAbsents,
    			ArrayList<String> listeColonnes) {
    		// TODO Auto-generated method stub
    		for(int x=0;x<listesAbsents.size();x++)
    		{
    			for(int z=0;z<listeColonnes.size();z++)
    			{
    				this._tableAbsentDistant.getModel().setValueAt(listesAbsents, x, z);
    			}
     
    		}
     
    [...]
    Ci dessous mon modele :
    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
     
    package ihm;
     
    import java.util.ArrayList;
     
    import javax.swing.table.AbstractTableModel;
    import javax.swing.table.TableModel;
     
    public class MyTableModel extends AbstractTableModel {
     
    	private static final long serialVersionUID = 1L;
     
    	private ArrayList<String> columnNames; 
    	private ArrayList<ArrayList<String>> data;
     
    	public MyTableModel()
    	{
    		columnNames=new ArrayList<String>();
    		data=new ArrayList<ArrayList<String>>();
    	}
     
    	public MyTableModel(ArrayList<String> colonnes, ArrayList<ArrayList<String>> donnees) {
    		// TODO Auto-generated constructor stub
     
    		this.columnNames=colonnes;
    		this.data=donnees;
     
    	}
     
    	public int getColumnCount() {
    		return columnNames.size();
    	}
     
    	public int getRowCount() {
    		return data.size();
    	}
     
    	public String getColumnName(int col) {
    		return columnNames.get(col);
    	}
     
    	public Object getValueAt(int row, int col) {
    		return data.get(row).get(col);
    	}
     
    	public Class getColumnClass(int c) {
    		return getValueAt(0, c).getClass();
    	}
     
    	/*
    	 * Don't need to implement this method unless your table's
    	 * editable.
    	 */
    	public boolean isCellEditable(int row, int col) {
    		//Note that the data/cell address is constant,
    		//no matter where the cell appears onscreen.
    		return false;
    	}
     
    	/*
    	 * Don't need to implement this method unless your table's
    	 * data can change.
    	 */
    	public void setValueAt(String valeur, int row, int col) {
    		data.get(row).set(col, valeur);
    		fireTableCellUpdated(row, col);
    	}
     
     
     
    }
    Si j'initialise mon Modele avec une liste, le premier affichage se fait correctement mais le rafraichissement ne se fait pas.

    Que faire ?

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 65
    Par défaut
    As tu tente de rajouter un repaint ?

  3. #3
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  4. #4
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2007
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2007
    Messages : 109
    Par défaut
    J'ai enfin réussi à mettre à jour ma JTable.

    Je créais un nouveau modèle pour ma JTable à chaque modification du coup, elle ne se mettait pas à jour correctement.

    Merci pour votre aide.

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

Discussions similaires

  1. Rafraichissement JTable avec donnée BDD
    Par Coco4486 dans le forum Composants
    Réponses: 2
    Dernier message: 30/07/2007, 16h32
  2. Réponses: 1
    Dernier message: 25/06/2007, 16h33
  3. Réponses: 16
    Dernier message: 18/03/2007, 13h30
  4. Problèmes d'affiche du header de mon JTable avec un Model
    Par Baptiste Wicht dans le forum Composants
    Réponses: 16
    Dernier message: 08/02/2006, 18h37
  5. un problème avec le tableModel !!!
    Par mehdi82 dans le forum Composants
    Réponses: 9
    Dernier message: 15/11/2005, 15h23

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