У меня проблема с 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 () работает.