Browse Source

tables

master
esoe 2 years ago
parent
commit
d24e3b908e
  1. 2
      src/main/java/ru/egspt/App.java
  2. 3
      src/main/java/ru/egspt/BaseControls.java
  3. 12
      src/main/java/ru/egspt/ReportPane.java
  4. 16
      src/main/java/ru/egspt/ReportTableModel.java
  5. 5
      src/main/java/ru/egspt/TagControls.java
  6. BIN
      target/classes/ru/egspt/App.class
  7. BIN
      target/classes/ru/egspt/BaseControls.class
  8. BIN
      target/classes/ru/egspt/ReportPane.class
  9. BIN
      target/classes/ru/egspt/ReportTableModel.class
  10. BIN
      target/classes/ru/egspt/TagControls.class

2
src/main/java/ru/egspt/App.java

@ -76,7 +76,7 @@ public class App extends JPanel{
} }
public static void main( String[] args ) public static void main( String[] args )
{ {
System.out.println( "Работает подготовщик отчетов по результатам тестирования пользователей ..." ); System.out.println( "Работает подготовщик отчетов по результатам тестирования пользователей App-moodle-anyreport ..." );
App anyreport = new App(); App anyreport = new App();
anyreport.initFrame(); anyreport.initFrame();
anyreport.init(); anyreport.init();

3
src/main/java/ru/egspt/BaseControls.java

@ -22,9 +22,8 @@ public class BaseControls {
app.getDataPane().setResults(app.getData()); app.getDataPane().setResults(app.getData());
app.getDataPane().setVisible(true); app.getDataPane().setVisible(true);
//данные в панель отчетов //данные в панель отчетов
app.getReportPane().setupReportTablePane(app.getData());
app.getReportPane().init(); app.getReportPane().init();
app.getReportPane().setReportData(app.getData());
} }
public static void DisconnectFromServer(App app){ public static void DisconnectFromServer(App app){

12
src/main/java/ru/egspt/ReportPane.java

@ -16,9 +16,9 @@ public class ReportPane extends JPanel {
private JPanel reportTextPane = new JPanel(); private JPanel reportTextPane = new JPanel();
private JPanel reportSettingsPane = new JPanel(); private JPanel reportSettingsPane = new JPanel();
public ReportPane(){} //панель по данным App
public ReportPane(App app){ public ReportPane(App app){
setupReportTablePane(app); setupReportTablePane(app.getData());
} }
public void init(){ public void init(){
this.setLayout(new BorderLayout()); this.setLayout(new BorderLayout());
@ -29,15 +29,17 @@ public class ReportPane extends JPanel {
this.setBorder(border); this.setBorder(border);
this.setVisible(true); this.setVisible(true);
} }
public void setupReportTablePane(App app){ public void setupReportTablePane(Data report){
reportTableModel = new ReportTableModel(app); reportTableModel = new ReportTableModel(report);
reportTable = new JTable(reportTableModel); reportTable = new JTable(reportTableModel);
//настройка заголовков //настройка заголовков таблицы
int i = 0; int i = 0;
while (i < reportTableModel.getHeader().length){ while (i < reportTableModel.getHeader().length){
reportTable.getColumnModel().getColumn(i).setHeaderValue(reportTableModel.getHeader()[i]); reportTable.getColumnModel().getColumn(i).setHeaderValue(reportTableModel.getHeader()[i]);
i++; i++;
} }
reportTable.setAutoResizeMode(reportTable.AUTO_RESIZE_OFF);
JScrollPane scrollPane = new JScrollPane(reportTable, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); JScrollPane scrollPane = new JScrollPane(reportTable, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
reportTablePane.setLayout(new BorderLayout()); reportTablePane.setLayout(new BorderLayout());
reportTablePane.add(scrollPane); reportTablePane.add(scrollPane);

16
src/main/java/ru/egspt/ReportTableModel.java

@ -5,18 +5,20 @@ import java.util.ArrayList;
import javax.swing.table.AbstractTableModel; import javax.swing.table.AbstractTableModel;
public class ReportTableModel extends AbstractTableModel{ public class ReportTableModel extends AbstractTableModel{
private Object[] header;// = new String[]{"id", "login", "mail"}; private Object[] header;
private Object[][] data; private Object[][] data;
//создаем модель без данных
public ReportTableModel(){} public ReportTableModel(){}
public ReportTableModel(Object[] header, Object[][] data){ public ReportTableModel(Object[] header, Object[][] data){
setHeader(header); setHeader(header);
setData(data); setData(data);
} }
//создаем модель по данным Data
public ReportTableModel(Data data){ public ReportTableModel(Data data){
setHeader(getHeaderByQuize(data)); setHeader(getHeaderByQuize(data));
setData(data); setData(data);
} }
//создаем модель по данным предварительно переданным в App
public ReportTableModel(App app){ public ReportTableModel(App app){
setHeader(getHeaderByQuize(app.getData())); setHeader(getHeaderByQuize(app.getData()));
setData(app.getData()); setData(app.getData());
@ -62,7 +64,7 @@ public class ReportTableModel extends AbstractTableModel{
int i = 0; int i = 0;
while (i < report.getQuizes().size()){ while (i < report.getQuizes().size()){
header.add(report.getQuizes().get(i).getName()); 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(""); header.add("");
i++; i++;
} }
@ -86,6 +88,9 @@ public class ReportTableModel extends AbstractTableModel{
public void setData(Data report) { public void setData(Data report) {
//создаем объект data - инициализация переменной //создаем объект data - инициализация переменной
Object[][] d = new Object[report.getUsers().size()][3 + 2*report.getQuizes().size()]; 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; int userCurr = 0;
while (userCurr < report.getUsers().size()){ while (userCurr < report.getUsers().size()){
@ -115,13 +120,16 @@ public class ReportTableModel extends AbstractTableModel{
} }
//пишем строку в d //пишем строку в d
int j = 0; int j = 0;
while (j < d[userCurr].length){ while (j < string.size()){
//while (j < 3){
d[userCurr][j] = string.toArray()[j]; d[userCurr][j] = string.toArray()[j];
j++; j++;
} }
userCurr++; userCurr++;
} }
this.data = d; this.data = d;
fireTableDataChanged();
} }
/** /**
* @return the data * @return the data

5
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().setHeader(app.getReportPane().getReportTableModel().getHeaderByQuize(report));
//формирование данных в таблице //формирование данных в таблице
app.getReportPane().getReportTableModel().setData(report); app.getReportPane().getReportTableModel().setData(report);
//app.getReportPane().setupReportTablePane(app); //app.getReportPane().setupReportTablePane(report);
//app.getReportPane()
app.getReportPane().getReportTableModel().fireTableDataChanged(); app.getReportPane().getReportTableModel().fireTableDataChanged();
} }
//удаляем тег из модели //удаляем тег из модели
public static void removeTag(App app){ public static void removeTag(App app){
@ -34,6 +36,7 @@ public class TagControls {
//app.getDataPane().setUsers(data); //app.getDataPane().setUsers(data);
//app.getDataPane().getUsersTableModel().fireTableDataChanged(); //app.getDataPane().getUsersTableModel().fireTableDataChanged();
app.getReportPane().setReportData(data); app.getReportPane().setReportData(data);
//app.getReportPane().setupReportTablePane(app);
app.getReportPane().getReportTableModel().fireTableDataChanged(); app.getReportPane().getReportTableModel().fireTableDataChanged();
} }
} }

BIN
target/classes/ru/egspt/App.class

Binary file not shown.

BIN
target/classes/ru/egspt/BaseControls.class

Binary file not shown.

BIN
target/classes/ru/egspt/ReportPane.class

Binary file not shown.

BIN
target/classes/ru/egspt/ReportTableModel.class

Binary file not shown.

BIN
target/classes/ru/egspt/TagControls.class

Binary file not shown.
Loading…
Cancel
Save