Bonjour,
Mon ihm possède une JTable avec un modèle étendu de AbstractTableModel et un bouton permettant de la vider.
Tout allait très bien lorsque j'avais créé la table par défaut directement étendue de JTable avec le modèle par défaut.
Suis-je clair ?
Bref j'arrivais à vider ma table grâce à ce 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
public class BoutonVider extends JButton implements ActionListener {
 
    private JTable tableau;
 
    public BoutonVider(JTable tableau) {
 
        this.tableau = tableau;
        this.addActionListener(this);
 
        this.setFont(new Font("SANS SERIF", Font.BOLD, 14));
        this.setText("Vider");
        this.setBounds(45, 565, 120, 30);       
    }
 
    @Override
    public void actionPerformed(ActionEvent e) {
 
        for(int i = 0; i < tableau.getRowCount(); i++){
 
            for(int j = 0; j < tableau.getColumnCount(); j++){
 
                tableau.setValueAt(null, i, j);
            }
        }
    }
}


Maintenant que j'ai ajouté un modèle étendu de AbstactTableModele cela ne marche plus.
J'ai donc tenté ceci :
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
import javax.swing.JTable;
 
public class BoutonVider extends JButton implements ActionListener {
 
    private MonModele monModele;
 
    public BoutonVider(JTable tableau) {
 
        this.monModele = monModele;
        this.addActionListener(this);
 
        this.setFont(new Font("SANS SERIF", Font.BOLD, 14));
        this.setText("Vider");
        this.setBounds(45, 565, 120, 30);       
    }
 
    @Override
    public void actionPerformed(ActionEvent e) {
 
        for(int i = 0; i < monModele.getRowCount(); i++){
 
            for(int j = 0; j < monModele.getColumnCount(); j++){
 
                monModele.setValueAt(null, i, j);
            }
        }
    }
}
Mais en vain.
Où est le problème ?
Merci de m'aider.