DefaultTableModel Klasse in Java Slaat gegevens op voor de JTable

De

DefaultTableModel

klasse is een subklasse van de

AbstractTableModel

. Zoals de naam al doet vermoeden, is het het tafelmodel dat wordt gebruikt door een

wanneer er geen tafelmodel specifiek is gedefinieerd door de programmeur. Het DefaultTableModel slaat de gegevens voor de JTable op in een

Vector

van

Vectoren

.

Hoewel de

Vector

is een verouderde Java-verzameling, het wordt nog steeds ondersteund en er is geen probleem met het gebruik ervan, tenzij de extra overhead veroorzaakt door het gebruik van een gesynchroniseerde verzameling een probleem is voor uw Java-toepassing.

Het voordeel van het gebruik van de

DefaultTableModel

over een gewoonte

AbstractTableModel

is dat u de methoden zoals het toevoegen, invoegen of verwijderen van rijen en kolommen niet hoeft te coderen. Ze bestaan ​​al om de gegevens in de

Vector

van

Vectoren.

Dit maakt het een snel en eenvoudig tafelmodel om te implementeren.

Importverklaring

importeer javax.swing.table. DefaultTableModel;

Constructeurs

De

DefaultTableModel

klasse heeft zes

instagram viewer

. Elk kan worden gebruikt om de

DefaultTableModel

op verschillende manieren.

De eerste constructor accepteert geen argumenten en maakt een

DefaultTableModel

die geen gegevens, nul kolommen en nul rijen heeft:

DefaultTableModel defTableModel = DefaultTableModel ();

De volgende constructor kan worden gebruikt om het aantal rijen en kolommen van een te specificeren

DefaultTableModel

zonder gegevens:

DefaultTableModel defTableModel = DefaultTableModel (10, 10);

Er zijn twee constructors die kunnen worden gebruikt om een

DefaultTableModel

met kolomnamen en een opgegeven aantal rijen (allemaal met nulwaarden). Men gebruikt een

Voorwerp

array om de kolomnamen te bevatten, de andere een

Vector

:

of

DefaultTableModel defTableModel = DefaultTableModel (columnNames, 10);

Ten slotte zijn er twee constructeurs gebruikt om de

DefaultTableModel

met rijgegevens samen met kolomnamen. Een gebruikt

Voorwerp

arrays, de andere

Vectoren

:

of

Handige methoden

Om een ​​rij toe te voegen aan de

DefaultTableModel

gebruik de

Voeg een rij toe

methode samen met de rijgegevens om toe te voegen:

Gebruik de om een ​​rij in te voegen

insertRow

methode, met specificatie van de in te voegen rijindex en de rijgegevens:

Gebruik de om een ​​rij te verwijderen

removeRow

methode, met specificatie van de te wissen rij-index:

defTableModel.removeRow (0);

Gebruik de om een ​​waarde in een tabelcel te krijgen

getValueAt

methode. Als de gegevens in rij 2 bijvoorbeeld bevatten, bevat kolom 2 een int:

int waarde = tabModel.getValueAt (2, 2);

Om een ​​waarde in te stellen in een tabelcel

setValueAt

methode met de waarde die samen met de rij- en kolomindex moet worden ingesteld:

defTableModel.setValueAt (8888, 3, 2);

Gebruikstips

Als een

JTable

wordt gemaakt met de constructor die wordt doorgegeven aan een tweedimensionale array met de rijgegevens en een array met de kolomnamen:

dan werkt de volgende cast niet:

Een looptijd

ClassCastException

zal worden gegooid omdat in dit geval de

DefaultTableModel

wordt verklaard als een

in de

JTable

object en kan niet worden gegoten. Het kan alleen naar de

Tafelmodel

koppel. Een manier om dit te omzeilen is om er zelf een te maken

DefaultTableModel

en stel het in als het model van de

JTable

:

Dan de

DefaultTableModel
defTableModel

kan worden gebruikt om de gegevens in de

JTable

.

Om de... te zien

DefaultTableModel

in actie kijk eens naar de

.

instagram story viewer