Klasa DefaultTableModel w Javie przechowuje dane dla JTable

The

DefaultTableModel

klasa jest podklasą klasy

AbstractTableModel

. Jak sama nazwa wskazuje, jest to model tabeli używany przez

gdy programista nie zdefiniował żadnego modelu tabeli. DefaultTableModel przechowuje dane dla JTable w a

Wektor

z

Wektory

.

Chociaż

Wektor

jest starszą kolekcją Java, jest nadal obsługiwana i nie ma problemu z jej użyciem, chyba że dodatkowy narzut spowodowany użyciem kolekcji synchronicznej stanowi problem dla aplikacji Java.

Zaletą korzystania z

DefaultTableModel

ponad zwyczaj

AbstractTableModel

czy nie musisz kodować metod takich jak dodawanie, wstawianie lub usuwanie wierszy i kolumn. Istnieją już w celu zmiany danych przechowywanych w

Wektor

z

Wektory

To sprawia, że ​​jest to szybki i łatwy do wdrożenia model stołu.

Oświadczenie importowe

import javax.swing.table. DefaultTableModel;

Konstruktory

The

DefaultTableModel

klasa ma sześć

. Każdy może być użyty do wypełnienia

DefaultTableModel

na różne sposoby.

Pierwszy konstruktor nie przyjmuje argumentów i tworzy plik

DefaultTableModel

który nie ma danych, zero kolumn i zero wierszy:

instagram viewer
DefaultTableModel defTableModel = DefaultTableModel ();

Następnego konstruktora można użyć do określenia liczby wierszy i kolumn

DefaultTableModel

bez danych:

DefaultTableModel defTableModel = DefaultTableModel (10, 10);

Istnieją dwa konstruktory, których można użyć do utworzenia pliku

DefaultTableModel

z nazwami kolumn i określoną liczbą wierszy (wszystkie zawierające wartości null). Jeden używa

Obiekt

tablica do przechowywania nazw kolumn, druga a

Wektor

:

lub

DefaultTableModel defTableModel = DefaultTableModel (columnNames, 10);

Wreszcie są dwa konstruktory używane do zapełniania

DefaultTableModel

z danymi wiersza wraz z nazwami kolumn. Jeden używany

Obiekt

inne tablice

Wektory

:

lub

Przydatne metody

Aby dodać wiersz do

DefaultTableModel

Użyj

addRow

metoda wraz z danymi wiersza, aby dodać:

Aby wstawić wiersz, użyj

insertRow

metoda, określając indeks wiersza do wstawienia i dane wiersza:

Aby usunąć wiersz, użyj

removeRow

metoda określająca indeks wiersza do usunięcia:

defTableModel.removeRow (0);

Aby uzyskać wartość w komórce tabeli, użyj

getValueAt

metoda. Na przykład, jeśli dane w wierszu 2, kolumna 2 zawiera int:

int wartość = tabModel.getValueAt (2, 2);

Aby ustawić wartość w komórce tabeli

setValueAt

metoda z wartością do ustawienia wraz z indeksem wierszy i kolumn:

defTableModel.setValueAt (8888, 3, 2);

Wskazówki dotyczące użytkowania

Jeśli

JTable

jest tworzony za pomocą konstruktora, któremu przekazano dwuwymiarową tablicę zawierającą dane wiersza i tablicę zawierającą nazwy kolumn:

wtedy następująca obsada nie będzie działać:

Środowisko wykonawcze

ClassCastException

zostanie wyrzucony, ponieważ w tym przypadku

DefaultTableModel

jest zadeklarowany jako

w

JTable

obiekt i nie można go rzucić. Można go rzucić tylko na

TableModel

berło. Rozwiązaniem jest stworzenie własnego

DefaultTableModel

i ustaw go jako model

JTable

:

A później

DefaultTableModel
defTableModel

może być użyty do manipulowania danymi w

JTable

.

Aby zobaczyć

DefaultTableModel

w akcji spójrz na

.

instagram story viewer