Witam!
Podobne tematy już się na forum pojawiały, ale ciągle nie mogę dojść do sedna sprawy, więc może teraz ktoś mi to wytłumaczy dokładniej.
Kłopot w tym, że chciałbym zrobić przycisk odpowiadający za odświeżanie tabeli. W dokumentacji Javy znalazłem wbudowaną metodę repaint(), którą wrzuciłem pod przycisk i dla elementów edytowanych w trakcie działania programu. I teraz moje pytanie, ponieważ tabela w trakcie działanie wyświetla tylko tyle miejsc ile miała na wejściu (tzn. jak dodam nowy wiersz to zobaczę go tylko podczas działania programu jeżeli usunę jeden z poprzednich)
Poniżej zamieszczam kod metody podpiętej pod przyciski i model mojej tabeli:
Przycisk:
public void kliLista() throws InterruptedException {
jTable1.repaint();
}
Model tabeli:
import java.util.ArrayList;
import javax.swing.table.AbstractTableModel;
public class ModelTabeli extends AbstractTableModel
{
private ArrayList<Klient> klienci;
private String [] nazwyKolumn = {"IDklienta","Imie","Nazwisko","Adres"};
public ModelTabeli(ArrayList<Klient> klient) { klienci = klient; }
public Object getValueAt(int row,int col)
{
switch(col)
{
case 0:
return klienci.get(row).getIDklienta();
case 1:
return klienci.get(row).getImie();
case 2:
return klienci.get(row).getNazwisko();
case 3:
return klienci.get(row).getAdres();
}
return null;
}
public int getRowCount() {
int ilosc;
ilosc = klienci.size() + 3;
return klienci.size();
}
public int getColumnCount() {
return 4;
}
@Override
public String getColumnName(int kolumna){
return nazwyKolumn[kolumna];
}
}
Dzięki i pozdrawiam ;-P