Zeile aus JTable löschen ohne Zugriff auf DefaultTableModel

tsonda

Grünschnabel
Hallo tutorials-Community,
wie kann Ich das DefaultTableModel aus einem JTable herausholen?
Wie man das normale TableModel herausholt weiß ich, das geht mit .getModel

Der Grund meiner Frage ist das Tutorial von The Java Developers Almanac 1.4

Da steht folgendes:

Code:
    DefaultTableModel model = new DefaultTableModel();
    JTable table = new JTable(model);
    
    // Create some data
    model.addColumn("Col1");
    model.addRow(new Object[]{"r1"});
    model.addRow(new Object[]{"r2"});
    model.addRow(new Object[]{"r3"});
    
    // Remove the first row
    model.removeRow(0);
    
    // Remove the last row
    model.removeRow(model.getRowCount()-1);

Das ist alles soweit klar, nur wie entferne Ich eine Zeile von JTable wenn ich nicht mehr an das DeafultTableModel komme.
Ich habe folgendes versucht:
Code:
DefaultTableModel dtm = jTableDaten.getModel();
Das funktioniert nicht, da .getModel() ein Objekt vom Typ TableModel zurückgibt und nicht DefaultTableModel
Code:
TableModel.removeRow(0)
Gibt es leider nicht

Wie macht Ich das denn jetzt? Habe Ich da jetzt irgendwie einen Denkfehler?
 
Hallo,

ich weiß nicht, ob es dir aufgefallen ist, aber das DefaultTableModel implementiert das Interface TableModel.
Also kann über getModel auch das DefaultTableModel zurück gegeben werden. Du musst allerdings casten.

Gruß

Sascha
 
ich weiß nicht, ob es dir aufgefallen ist, aber das DefaultTableModel implementiert das Interface TableModel.
Ja ja, die sehen schon so aus als würden die sich kennen :)

Also kann über getModel auch das DefaultTableModel zurück gegeben werden. Du musst allerdings casten.
Gesagt, getan!

Code:
DefaultTableModel dtm =(DefaultTableModel) jTableDaten.getModel();

Jetzt klappt's auch mit dem dem .removeRow()
Code:
dtm.removeRow(0)

Vielen Dank für deine Hilfe Sascha. *daumenhoch*
 

Neue Beiträge

Zurück