0 Daumen
259 Aufrufe

Theoretische Frage in Java:

Wie hinterlegt man die Daten im DefaultTableModel und in einem selbst erstellten Modell?

Desweiteren wollte ich fragen woher die Daten kommen, wenn eine Tabelle dargestellt wird?

Avatar von

1 Antwort

0 Daumen

Antwort mit KI erzeugt

Wie hinterlegt man die Daten im DefaultTableModel und in einem selbst erstellten Modell?

Um Daten in einem DefaultTableModel in Java zu hinterlegen, nutzt man typischerweise einen der Konstruktoren des DefaultTableModel-Klasse, um entweder ein leeres Modell zu erstellen oder eines mit bereits vorhandenen Daten und Spaltennamen. Man kann die Daten auch später durch Methoden wie addRow(Object[] rowData) oder setValueAt(Object aValue, int row, int column) hinzufügen oder modifizieren.

Beispielcode für DefaultTableModel:

java
import javax.swing.table.DefaultTableModel;

public class DefaultTableModelExample {
    public static void main(String[] args) {
        // Erstellen eines leeren DefaultTableModel
        DefaultTableModel model = new DefaultTableModel();

        // Hinzufügen von Spalten
        model.addColumn("ID");
        model.addColumn("Name");
        model.addColumn("Alter");

        // Hinzufügen von Zeilen
        model.addRow(new Object[]{1, "Max Mustermann", 30});
        model.addRow(new Object[]{2, "Julia Schmitt", 25});

        // Datensatz aktualisieren
        model.setValueAt("Julian Schmidt", 1, 1); // Ändert den Namen in der zweiten Zeile
    }
}


Um ein selbst erstelltes Modell zu nutzen, muss man eine Klasse erstellen, die von AbstractTableModel erbt und bestimmte Methoden überschreibt, wie getRowCount(), getColumnCount(), getValueAt(int rowIndex, int columnIndex), etc. Man speichert die Daten in einer geeigneten Datenstruktur innerhalb dieser Klasse (zum Beispiel ein zweidimensionales Array oder eine Liste von Objekten) und implementiert die Methoden, um auf diese Daten zuzugreifen.

Beispielcode für ein selbst erstelltes Modell:

java
import javax.swing.table.AbstractTableModel;
import java.util.ArrayList;
import java.util.List;

public class MyTableModel extends AbstractTableModel {
    private List<Object[]> data = new ArrayList<>();
    private String[] columnNames = {"ID", "Name", "Alter"};

    public MyTableModel() {
        data.add(new Object[]{1, "Max Mustermann", 30});
        data.add(new Object[]{2, "Julia Schmitt", 25});
    }

    @Override
    public int getRowCount() {
        return data.size();
    }

    @Override
    public int getColumnCount() {
        return columnNames.length;
    }

    @Override
    public Object getValueAt(int rowIndex, int columnIndex) {
        return data.get(rowIndex)[columnIndex];
    }

    @Override
    public String getColumnName(int column) {
        return columnNames[column];
    }

    // Weitere Methoden zum Hinzufügen, Entfernen oder Aktualisieren von Daten...
}


Woher kommen die Daten, wenn eine Tabelle dargestellt wird?

Die Daten in einer Tabelle (modelliert durch ein TableModel in Swing) können aus verschiedenen Quellen stammen, darunter:

- Statische Daten: Daten können hardcoded im Quellcode sein, wie im obigen Beispiel.
- Datenbanken: Oft werden Daten aus relationalen Datenbanken oder NoSQL-Datenbanken geladen.
- Dateien: Daten können auch aus Dateien wie CSV, XML oder JSON geladen werden.
- APIs: In modernen Anwendungen können Daten über Netzwerk-Request von REST-APIs oder SOAP Web-Services bezogen werden.
- Benutzereingabe: Daten könnten auch direkt durch die Benutzerinteraktion in der GUI eingegeben werden.

Unabhängig von der Quelle werden diese Daten normalerweise in einer für das Modell verständlichen Form verarbeitet und dann dem Modell hinzugefügt, entweder bei der Initialisierung oder durch dynamisches Laden während der Laufzeit der Anwendung.
Avatar von

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community