le
DefaultTableModel
la classe est une sous-classe de la
AbstractTableModel
. Comme son nom l'indique, c'est le modèle de table qui est utilisé par un
quand aucun modèle de table n'est spécifiquement défini par le programmeur. Le DefaultTableModel stocke les données de la JTable dans un
Vecteur
de
Vecteurs
.
Bien que le
Vecteur
est une collection Java héritée, elle est toujours prise en charge et son utilisation ne pose aucun problème, sauf si la surcharge supplémentaire causée par l'utilisation d'une collection synchronisée est un problème pour votre application Java.
L'avantage d'utiliser le
DefaultTableModel
sur une coutume
AbstractTableModel
est que vous n'avez pas à coder les méthodes comme ajouter, insérer ou supprimer des lignes et des colonnes. Ils existent déjà pour modifier les données conservées
Vecteur
de
Vecteurs.
Cela en fait un modèle de table simple et rapide à mettre en œuvre.
Déclaration d'importation
importez javax.swing.table. DefaultTableModel;
Constructeurs
le
DefaultTableModel
la classe a six
. Chacun peut être utilisé pour remplir
DefaultTableModel
en différentes manières.
Le premier constructeur ne prend aucun argument et crée un
DefaultTableModel
qui n'a pas de données, zéro colonne et zéro ligne:
DefaultTableModel defTableModel = DefaultTableModel ();
Le constructeur suivant peut être utilisé pour spécifier le nombre de lignes et de colonnes d'un
DefaultTableModel
sans données:
DefaultTableModel defTableModel = DefaultTableModel (10, 10);
Il existe deux constructeurs qui peuvent être utilisés pour créer un
DefaultTableModel
avec des noms de colonne et un nombre spécifié de lignes (contenant toutes des valeurs nulles). On utilise un
Objet
tableau pour contenir les noms des colonnes, l'autre un
Vecteur
:
ou
DefaultTableModel defTableModel = DefaultTableModel (columnNames, 10);
Enfin, deux constructeurs sont utilisés pour remplir
DefaultTableModel
avec des données de ligne avec des noms de colonne. Un utilisé
Objet
tableaux, l'autre
Vecteurs
:
ou
Méthodes utiles
Pour ajouter une ligne au
DefaultTableModel
Utilisez le
ajouter une rangée
avec les données de ligne à ajouter:
Pour insérer une ligne, utilisez
insertRow
, spécifiant l'index de ligne à insérer et les données de ligne:
Pour supprimer une ligne, utilisez le
removeRow
, spécifiant l'index de ligne à supprimer:
defTableModel.removeRow (0);
Pour obtenir une valeur dans une cellule de tableau, utilisez le
getValueAt
méthode. Par exemple, si les données de la ligne 2, la colonne 2 contient un int:
int value = tabModel.getValueAt (2, 2);
Pour définir une valeur dans une cellule de tableau
setValueAt
avec la valeur à définir avec l'index de ligne et de colonne:
defTableModel.setValueAt (8888, 3, 2);
Conseils d'utilisation
Si un
JTable
est créé à l'aide du constructeur auquel est passé un tableau à deux dimensions contenant les données de ligne et un tableau contenant les noms de colonne:
alors la distribution suivante ne fonctionnera pas:
Un runtime
ClassCastException
sera jeté parce que dans ce cas, le
DefaultTableModel
est déclaré comme
dans le
JTable
objet et ne peut pas être casté. Il ne peut être jeté que sur
TableModel
interface. Un moyen de contourner cela est de créer le vôtre
DefaultTableModel
et le définir comme le modèle de la
JTable
:
Puis le
DefaultTableModel
defTableModel
peut être utilisé pour manipuler les données dans le
JTable
.
Pour voir le
DefaultTableModel
en action jetez un oeil à la
.