JDBC TableModel für eine JTable in Java?

Will ich die Anzeige einer Datenbank-Tabelle als eine JTable. Ich habe noch nie verwendet, JTable, bevor ich gegoogelt JTable und TableModel.

Mit googeln bin ich in der Lage zu schreiben, meine eigenen TableModel die Daten anzuzeigen, die gespeichert sind in

Object[][] data;

Nun, ich will mich zeigen, meine Datenbank-Tabelle Daten in die JTable. Gesucht, dass ich auch und habe auch schon eine Idee, aber immer noch verwirrt, was geht, wo in der Umsetzung Klasse von AbstractTableModel.

Folgende code ist der code der custom TableModel.

public abstract class AbstractPOLDATTableModel extends AbstractTableModel {
protected boolean DEBUG = false;
private String[] columnNames;
private Object[][] data;

protected AbstractPOLDATTableModel(String[] columnNames, Object[][] data) {
    this.columnNames = columnNames;
    this.data = data;
}

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

public int getRowCount() {
    return data.length;
}

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

public Object getValueAt(int row, int col) {
    return data[row][col];
}

@Override
public Class getColumnClass(int c) {
    return getValueAt(0, c).getClass();
}

@Override
public boolean isCellEditable(int row, int col) {
    if (col < 2) {
        return false;
    } else {
        return true;
    }
}

@Override
public void setValueAt(Object value, int row, int col) {
    if (DEBUG) {
        System.out.println("Setting value at " + row + "," + col
                           + " to " + value
                           + " (an instance of "
                           + value.getClass() + ")");
    }

    data[row][col] = value;
    fireTableCellUpdated(row, col);

    if (DEBUG) {
        System.out.println("New value of data:");
        printDebugData();
    }
}

private void printDebugData() {
    int numRows = getRowCount();
    int numCols = getColumnCount();

    for (int i=0; i < numRows; i++) {
        System.out.print("    row " + i + ":");
        for (int j=0; j < numCols; j++) {
            System.out.print("  " + data[i][j]);
        }
        System.out.println();
    }
    System.out.println("--------------------------");
}
}

Nun, so ändern Sie den obigen code so, dass mein JTable können haben die folgenden Besonderheiten:

  1. Es zeigt die Daten aus der Datenbank
  2. Der Benutzer Bearbeiten kann die Tabelle direkt und wenn er klickt auf einen button "speichern" werden die änderungen in die Datenbank Daten
  3. Benutzer einfügen können Daten direkt.
  4. Benutzer können Daten löschen direkt.
Sie erhalten funktionierende Beispiele in deinem letzten posting.
Sie fragte fast die gleiche Frage von gestern: stackoverflow.com/questions/2192764/...
Yatendra - werfen Sie einen Blick auf mein Beispiel von gestern, auf die Frage und sagen Sie mir, wo Sie haben, stecken zu bleiben, und ich werde versuchen, Ihnen einige Hinweise.
Dein Beispiel war Klasse und jetzt habe ich implementiert eine JTable, die Darstellung von Daten aus der Datenbank. Bis jetzt ist die JTable ist nur zu zeigen, den Daten. Jetzt möchte ich, dass der Benutzer Bearbeiten kann die Tabelle direkt aus JTable und dann die änderungen in die Datenbank. Wie kann ich das implementieren?

InformationsquelleAutor Yatendra Goel | 2010-02-04

Schreibe einen Kommentar