Classe DefaultTableModel dans Java stocke des données pour JTable

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

instagram viewer

. 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

.

instagram story viewer