public void setTerm(Termin term) { setDisplayName( term.getGrupa().getNazwa() + " - " + term.getGrupa().getPrzedmiot().getNazwa() + " - Obecności"); this.titleLabel.setHorizontalAlignment(SwingConstants.CENTER); this.titleLabel.setText( "Tabela obecności dla: " + term.getGrupa().getNazwa() + " - " + term.getGrupa().getPrzedmiot().getNazwa() + " - " + term.getGodzina_start() + "-" + term.getGodzina_stop()); this.groupName = term.getGrupa().getNazwa(); this.subjectName = term.getGrupa().getPrzedmiot().getNazwa(); setTable(term); }
private void setTable(Termin term) { termin = term; idTerminu = term.getId(); students = Student.getByGroup(term.getGrupa().getId()); DateFormat format = new SimpleDateFormat("dd.MM.yy"); Calendar cal = Calendar.getInstance(); String today = format.format(cal.getTime()); // dzisiejsza data // sprawdz czy juz są daty dzisiejsze w bazie if (isDatesOnDatabase(today, term) == false) { for (Student s : students) { Obecnosc.addObecnosc(term, s, today, false); } } // tu tworzenie modelu DefaultTableModel model = new DefaultTableModel() { @Override public Class<?> getColumnClass(int columnIndex) { if (columnIndex != 0) { return Boolean.class; } return super.getColumnClass(columnIndex); } }; // to sie robi zeby byly checkboxy while (model.getRowCount() > 0) { model.removeRow(0); } model.addColumn("Student"); List<Obecnosc> obecnosci = Obecnosc.getObecnosci(term); dates = new ArrayList<String>(); String first_date = null; if (!obecnosci.isEmpty()) { first_date = obecnosci.get(0).getData(); dates.add(first_date); } for (Obecnosc o : obecnosci) { if (!o.getData().equals(first_date)) { first_date = o.getData(); dates.add(first_date); } } sort(dates); // w dates mamy kolejne daty dla terminu, czyli kolejne kolumny for (String d : dates) { model.addColumn(d); } jScrollPane1.setViewportView(presenceTable); // teraz uzupełnianie tabeli for (Student s : students) { Object[] values = new Object[dates.size() + 1]; values[0] = s.getImie() + " " + s.getNazwisko(); for (int i = 1; i < dates.size() + 1; i++) { values[i] = znajdzObecnosc(obecnosci, dates.get(i - 1), s); } model.addRow(values); } presenceTable.setModel(model); }