JTabke aktualisiert sich nicht

drei1padsvb

Aktives Mitglied
Hi,

ich habe ein DefaultTableModel und ein JTable, dass ich mit Daten aus einer DB per Vectoren fülle.
Möchte ich nun ein Datensatz löschen, funktioniert das auch, allerdings aktualisiert sich die Tabelle nicht. D.h. dass der gelöschte Datensatz noch zu sehen ist.

fireTableDataChanged() klappt also noch nicht. Ich seh leider nicht, wo ich meinen Fehler habe.

Java:
    // Vector für Spaltenüberschrift mit Werten belegen
    Vector<String> columnNames = new Vector<String>();
        columnNames.add("Int. Kürzel");
        columnNames.add("Name");
        columnNames.add("Stadt");
        columnNames.add("Land");

    // Vector mit allen Airports aus DB
    Vector<Airport> allAirports = admin.getAllAirports();

    // Vector mit nachfolgender for-Schleife mit Werten für JTable belegen
    Vector<Vector> rowData = new Vector<Vector>();

        for(int i = 0; i<allAirports.size(); i++) {

            Vector<String> TempString = new Vector<String>();

                String internationalId = allAirports.get(i).getInternationalId();

                    TempString.addElement(internationalId);

                String portName = allAirports.get(i).getPortName();

                    TempString.addElement(portName);

                String portCity = allAirports.get(i).getPortCity();

                    TempString.addElement(portCity);

                String portCountry = allAirports.get(i).getPortCountry();

                    TempString.addElement(portCountry);

            rowData.addElement(TempString);
        }

    final DefaultTableModel model = new DefaultTableModel( rowData, columnNames );
    
    final JTable table = new JTable(model);
    table.setModel(model);
    table.setAutoCreateRowSorter(true);
    table.getColumnModel().getColumn(0).setPreferredWidth(10);
    table.getColumnModel().getColumn(1).setPreferredWidth(150);
    table.getColumnModel().getColumn(2).setPreferredWidth(100);
    table.getColumnModel().getColumn(3).setPreferredWidth(100);
    constraints.gridx = 0;
    constraints.gridy = 2;
    constraints.gridwidth = 3;
    table.setPreferredScrollableViewportSize(new Dimension(550,200));
    table.setVisible(true);
    jp.add( new JScrollPane(table), constraints);

...

    Loeschen.addActionListener(new ActionListener() {
            @Override
    public void actionPerformed(ActionEvent e){

                        try {
                            admin.deleteAirport(table.getModel().getValueAt(iSelectedRow, 0).toString(),
                                    table.getModel().getValueAt(iSelectedRow, 1).toString(),
                                    table.getModel().getValueAt(iSelectedRow, 2).toString(),
                                    table.getModel().getValueAt(iSelectedRow, 3).toString());
                                    model.fireTableDataChanged();
                        } catch (RemoteException ex) {
                            Logger.getLogger(AirportManage.class.getName()).log(Level.SEVERE, null, ex);
                        }
        }
    });
...

Vielen Dank schonmal und einen guten Rutsch
 

Zurück
Oben