Пустая таблица объектов JTable - PullRequest
0 голосов
/ 16 июня 2020

У меня проблема с JTable. Я создаю "библиотечную" программу и есть курс "аренда". Он содержит пользователя, книгу и даты. Проблема в том, что ссуды не отображаются.

Класс аренды:

    public Wypozyczenia(Uzytkownik uzytkownik, Ksiazka ksiazka, Calendar dataWypozyczenia,Calendar dataZwrotu){
    this.uzytkownik = uzytkownik;
    this.ksiazka = ksiazka;
    this.dataWypozyczenia = dataWypozyczenia;
    this.dataZwrotu = dataZwrotu;
    this.uzytkownik.dodajWypozyczenie(this);
}

Класс с JTable:

WypozyczenieOddaj tablicaModelKsaizki = new WypozyczenieOddaj(Dane.wypozyczenia);
tabelaKsiazki.setModel(tablicaModelKsaizki);

-

class WypozyczenieOddaj extends AbstractTableModel {

private List<Wypozyczenia> li = new ArrayList();
private String[] columnNames = {"Imie", "Nazwisko"};

public WypozyczenieOddaj(List<Wypozyczenia> list) {
    this.li = list;
}

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

@Override
public int getRowCount() {
    return li.size();
}

@Override
public int getColumnCount() {
    return 2;
}

@Override
public Object getValueAt(int rowIndex, int columnIndex) {
    Wypozyczenia x = Dane.wypozyczenia.get(rowIndex);
    switch (columnIndex) {
        case 0:
            return x.getUzytkownik();
        case 1:
            return x.getKsiazka();
    }
    return null;
}

результат

Я уверен, что стоимость аренды складывается, потому что toString () работает.

1 Ответ

1 голос
/ 16 июня 2020

Я не видел, чтобы вы указывали источник данных для заполнения в JTable, то есть откуда система будет получать значения арендной платы. Либо список, либо из вашей базы данных .. Вы можете просто сделать это, используя

Object [] data = {user, book}
tablicaModelKsaizki.addRow(data)
...