Erfrischend JTable nach dem ändern von Daten
Will ich regenerieren und meine JTable
nachdem ein Benutzer eine Taste gedrückt. Vor, dass die Schaltfläche erzeugt eine Object[][]
in dem die gefilterten Daten aus der Tabelle gehalten wird.
Die gefilterten Daten nur in der Anzahl der Zeilen.
Ich bin mit dem netbeans UI Schöpfer und der einzige Weg, ich könnte füllen der Tabelle mit Daten wird durch die Definition von abstractTableModel.
Hier ist der code meiner abstractTableModel:
class myTable extends AbstractTableModel{
private String[] stolpci = {"Kategorija","Podkategorija","Opis","Cena","Datum","Boni"};
private Object[][] data = PregledovalnikGUI.vrniTabelo(); /*PregledovalnikGUI.vrniTabelo() returns a value in form of Object[][] in which the data is held*/
public int getColumnCount() {
return stolpci.length;
}
public int getRowCount() {
return vrstice.length;
}
public String getColumnName(int col) {
return stolpci[col];
}
public Object getValueAt(int row, int col) {
return vrstice[row][col];
}
public Class getColumnClass(int c) {
return getValueAt(0, c).getClass();
}
public void setValueAt(Object value, int row, int col) {
vrstice[row][col] = value;
fireTableCellUpdated(row, col);
}
Das jTable gesetzt wird, wie:
Tabela.setModel(new myTable());
Welche Methoden brauche ich, um zu definieren, um die Tabelle zu aktualisieren, die zur Laufzeit?
InformationsquelleAutor Theory | 2013-11-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
innen
myTable
könnten Sie eine Methode namensrefresh()
so etwasDann in die Hörer-Taste, rufen Sie mit der oben beschriebenen Methode:
Und kann ich Daten = Objekte, wo Sie ich ersetzen Sie "data" aus der original-Tabelle mit den Daten von "Objekten"?
Können Sie zeigen Sie Ihren code? Ich habe eine bessere Idee von, was Sie Fragen dann
Ich habe mein problem gelöst. Die Methode, die Sie vorgeschlagen arbeiten. Aber es gab einen kleinen Fehler auf mein Ende. Die Methode konvertiert meine Liste<> Object[][] konvertiert die falsche Liste<>. Nach dem Austausch der falsche Wert der JTable korrekt aktualisiert.
fireTableChanged definiert wird, in der refresh-Methode innerhalb von AbstractTableModel.
InformationsquelleAutor Sionnach733
Wenn Sie erstellen eine neue
TableModel
, dann nichts, die Tabelle wird automatisch aktualisiert sich selbst.Wenn die zugrunde liegenden Daten des Modells geändert wird, dann innerhalb des Modells (als Sie sich von
AbstractTableModl
) zu nennen, könnten SiefireTableDataChanged
an, in dem der Tisch wissen, dass der Inhalt der Tabelle geändert haben und es sollte selbst aktualisieren.Diese erfordern, dass das Modell entweder einen refresh-Methode des eigenen oder, dass es hat die Fähigkeit, zu hören, zu änderungen von Daten ist die Modellierung
InformationsquelleAutor MadProgrammer