예제 #1
0
 public boolean znajdzObecnosc(List<Obecnosc> obecnosci, String data, Student s) {
   for (Obecnosc o : obecnosci) {
     if (o.getData().equals(data) && o.getStudent().getId() == s.getId()) {
       return o.getObecnosc();
     }
   }
   return false;
 }
예제 #2
0
  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);
  }