diff --git a/src/main/java/ru/egspt/App.java b/src/main/java/ru/egspt/App.java index 3bc4719..e18ef9e 100644 --- a/src/main/java/ru/egspt/App.java +++ b/src/main/java/ru/egspt/App.java @@ -76,7 +76,7 @@ public class App extends JPanel{ } public static void main( String[] args ) { - System.out.println( "Работает подготовщик отчетов по результатам тестирования пользователей ..." ); + System.out.println( "Работает подготовщик отчетов по результатам тестирования пользователей App-moodle-anyreport ..." ); App anyreport = new App(); anyreport.initFrame(); anyreport.init(); diff --git a/src/main/java/ru/egspt/BaseControls.java b/src/main/java/ru/egspt/BaseControls.java index ee8d108..11a789d 100644 --- a/src/main/java/ru/egspt/BaseControls.java +++ b/src/main/java/ru/egspt/BaseControls.java @@ -22,9 +22,8 @@ public class BaseControls { app.getDataPane().setResults(app.getData()); app.getDataPane().setVisible(true); //данные в панель отчетов + app.getReportPane().setupReportTablePane(app.getData()); app.getReportPane().init(); - app.getReportPane().setReportData(app.getData()); - } public static void DisconnectFromServer(App app){ diff --git a/src/main/java/ru/egspt/ReportPane.java b/src/main/java/ru/egspt/ReportPane.java index 43a4b3b..4a263f1 100644 --- a/src/main/java/ru/egspt/ReportPane.java +++ b/src/main/java/ru/egspt/ReportPane.java @@ -16,9 +16,9 @@ public class ReportPane extends JPanel { private JPanel reportTextPane = new JPanel(); private JPanel reportSettingsPane = new JPanel(); - public ReportPane(){} + //панель по данным App public ReportPane(App app){ - setupReportTablePane(app); + setupReportTablePane(app.getData()); } public void init(){ this.setLayout(new BorderLayout()); @@ -29,15 +29,17 @@ public class ReportPane extends JPanel { this.setBorder(border); this.setVisible(true); } - public void setupReportTablePane(App app){ - reportTableModel = new ReportTableModel(app); + public void setupReportTablePane(Data report){ + reportTableModel = new ReportTableModel(report); reportTable = new JTable(reportTableModel); - //настройка заголовков + //настройка заголовков таблицы int i = 0; while (i < reportTableModel.getHeader().length){ reportTable.getColumnModel().getColumn(i).setHeaderValue(reportTableModel.getHeader()[i]); i++; } + reportTable.setAutoResizeMode(reportTable.AUTO_RESIZE_OFF); + JScrollPane scrollPane = new JScrollPane(reportTable, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); reportTablePane.setLayout(new BorderLayout()); reportTablePane.add(scrollPane); diff --git a/src/main/java/ru/egspt/ReportTableModel.java b/src/main/java/ru/egspt/ReportTableModel.java index bc6b3a3..bd59503 100644 --- a/src/main/java/ru/egspt/ReportTableModel.java +++ b/src/main/java/ru/egspt/ReportTableModel.java @@ -5,18 +5,20 @@ import java.util.ArrayList; import javax.swing.table.AbstractTableModel; public class ReportTableModel extends AbstractTableModel{ - private Object[] header;// = new String[]{"id", "login", "mail"}; + private Object[] header; private Object[][] data; + //создаем модель без данных public ReportTableModel(){} public ReportTableModel(Object[] header, Object[][] data){ setHeader(header); setData(data); } + //создаем модель по данным Data public ReportTableModel(Data data){ setHeader(getHeaderByQuize(data)); setData(data); } - + //создаем модель по данным предварительно переданным в App public ReportTableModel(App app){ setHeader(getHeaderByQuize(app.getData())); setData(app.getData()); @@ -62,7 +64,7 @@ public class ReportTableModel extends AbstractTableModel{ int i = 0; while (i < report.getQuizes().size()){ header.add(report.getQuizes().get(i).getName()); - System.out.println("Пишем заголовок: " + report.getQuizes().get(i).getName()); + //System.out.println("Пишем заголовок: " + report.getQuizes().get(i).getName()); header.add(""); i++; } @@ -86,6 +88,9 @@ public class ReportTableModel extends AbstractTableModel{ public void setData(Data report) { //создаем объект data - инициализация переменной Object[][] d = new Object[report.getUsers().size()][3 + 2*report.getQuizes().size()]; + System.out.println("Количество столбцов Object[][] d: " + (3 + 2*report.getQuizes().size())); + System.out.println("Количество строк Object[][] d: " + report.getUsers().size()); + //построчно заполняем модель отчета данными int userCurr = 0; while (userCurr < report.getUsers().size()){ @@ -115,13 +120,16 @@ public class ReportTableModel extends AbstractTableModel{ } //пишем строку в d int j = 0; - while (j < d[userCurr].length){ + while (j < string.size()){ + //while (j < 3){ d[userCurr][j] = string.toArray()[j]; j++; } + userCurr++; } this.data = d; + fireTableDataChanged(); } /** * @return the data diff --git a/src/main/java/ru/egspt/TagControls.java b/src/main/java/ru/egspt/TagControls.java index 3a57bf3..2cc2fd8 100644 --- a/src/main/java/ru/egspt/TagControls.java +++ b/src/main/java/ru/egspt/TagControls.java @@ -17,8 +17,10 @@ public class TagControls { app.getReportPane().getReportTableModel().setHeader(app.getReportPane().getReportTableModel().getHeaderByQuize(report)); //формирование данных в таблице app.getReportPane().getReportTableModel().setData(report); - //app.getReportPane().setupReportTablePane(app); + //app.getReportPane().setupReportTablePane(report); + //app.getReportPane() app.getReportPane().getReportTableModel().fireTableDataChanged(); + } //удаляем тег из модели public static void removeTag(App app){ @@ -34,6 +36,7 @@ public class TagControls { //app.getDataPane().setUsers(data); //app.getDataPane().getUsersTableModel().fireTableDataChanged(); app.getReportPane().setReportData(data); + //app.getReportPane().setupReportTablePane(app); app.getReportPane().getReportTableModel().fireTableDataChanged(); } } diff --git a/target/classes/ru/egspt/App.class b/target/classes/ru/egspt/App.class index 2386238..ebed3e1 100644 Binary files a/target/classes/ru/egspt/App.class and b/target/classes/ru/egspt/App.class differ diff --git a/target/classes/ru/egspt/BaseControls.class b/target/classes/ru/egspt/BaseControls.class index ae97920..38e0b42 100644 Binary files a/target/classes/ru/egspt/BaseControls.class and b/target/classes/ru/egspt/BaseControls.class differ diff --git a/target/classes/ru/egspt/ReportPane.class b/target/classes/ru/egspt/ReportPane.class index d7e1fad..9cd003d 100644 Binary files a/target/classes/ru/egspt/ReportPane.class and b/target/classes/ru/egspt/ReportPane.class differ diff --git a/target/classes/ru/egspt/ReportTableModel.class b/target/classes/ru/egspt/ReportTableModel.class index c89e2aa..bd5ca74 100644 Binary files a/target/classes/ru/egspt/ReportTableModel.class and b/target/classes/ru/egspt/ReportTableModel.class differ diff --git a/target/classes/ru/egspt/TagControls.class b/target/classes/ru/egspt/TagControls.class index 1d47575..a3e8193 100644 Binary files a/target/classes/ru/egspt/TagControls.class and b/target/classes/ru/egspt/TagControls.class differ