You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

82 lines
2.7 KiB

2 years ago
package ru.egspt;
import javax.swing.table.AbstractTableModel;
public class ReportTableModel extends AbstractTableModel{
2 years ago
private String[] header = new String[]{"id", "login", "mail"};
2 years ago
private Object[][] data;
2 years ago
public ReportTableModel(){}
public ReportTableModel(App app){
setData(app.getData());
2 years ago
}
@Override
public int getRowCount() {
return getData().length;
}
@Override
public int getColumnCount() {
return getHeader().length;
}
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
return getData()[rowIndex][columnIndex];
}
/**
* @param header the header to set
2 years ago
*/
public void setHeader(String[] header) {
this.header = header;
2 years ago
}
2 years ago
/**
* Настройка заголовков отчета
* @param data
*/
public void setHeader(Data data){
/**
* Определение количества заголовков:
* первые три (с нумерацией строк - четыре) заголовка определяются таблицей пользователей и всегда постоянны
* остальные заголовки определяются:
* количеством тестов, в прохождении которых участвовали пользователи, помноженным на
* количество отчетных данных (результат сдачи теста и время потраченное на прохождение теста)
*/
//String[] h = new String[3 + 0];
//
}
/**
* @return the header
*/
public String[] getHeader() {
return header;
}
/**
*
*/
public void setData(Object[][] data){
this.data = data;
}
2 years ago
/**
2 years ago
*
2 years ago
*/
2 years ago
public void setData(Data report) {
2 years ago
//создаем объект data - инициализация переменной
2 years ago
this.data = new Object[report.getUsers().size()][3];
2 years ago
//заполняем модель данными пользователей
int i = 0;
2 years ago
while (i < report.getUsers().size()){
this.data[i][0] = report.getUsers().get(i).getId();
this.data[i][1] = report.getUsers().get(i).getLogin();
this.data[i][2] = report.getUsers().get(i).getMail();
2 years ago
i++;
this.fireTableDataChanged();
}
2 years ago
}
/**
* @return the data
2 years ago
*/
public Object[][] getData() {
return data;
2 years ago
}
}