85 lines
2.4 KiB
Java
85 lines
2.4 KiB
Java
package de.wwwu.awolf.view.panels;
|
|
|
|
import de.wwwu.awolf.presenter.util.Logging;
|
|
import org.apache.log4j.nt.NTEventLogAppender;
|
|
|
|
import javax.swing.*;
|
|
import javax.swing.border.TitledBorder;
|
|
import java.awt.*;
|
|
import java.util.List;
|
|
|
|
/**
|
|
* Implementierung verschiedener Algorithmen zur Berechnung von Ausgleichsgeraden.
|
|
*
|
|
* @Author: Armin Wolf
|
|
* @Email: a_wolf28@uni-muenster.de
|
|
* @Date: 02.06.2017.
|
|
*/
|
|
public class InfoPanel extends JPanel {
|
|
|
|
private JTextArea output;
|
|
private JScrollPane scrollPane;
|
|
private StringBuilder content;
|
|
|
|
/**
|
|
* Konstruktor
|
|
*/
|
|
public InfoPanel() {
|
|
this.setBorder(new TitledBorder("Logging"));
|
|
this.setLayout(new BorderLayout());
|
|
output = new JTextArea();
|
|
output.setEditable(false);
|
|
output.setWrapStyleWord(true);
|
|
|
|
content = new StringBuilder();
|
|
|
|
scrollPane = new JScrollPane(output);
|
|
scrollPane.setWheelScrollingEnabled(true);
|
|
this.add(scrollPane, BorderLayout.CENTER);
|
|
|
|
}
|
|
|
|
/**
|
|
* Fügt eine Text dem Panel als Paragraph hinzu
|
|
*
|
|
* @param p Übergebener Text
|
|
*/
|
|
public void appendParagraph(String p) {
|
|
content.append(p).append("\n");
|
|
output.setText(content.toString());
|
|
}
|
|
|
|
/**
|
|
* Fügt eine Tabelle mit Werten dem Panel hinzu
|
|
*
|
|
* @param heading Überschriften
|
|
* @param rows Liste von Daten pro Zeile
|
|
*/
|
|
public void logTable(List<String> heading, List<List<String>> rows) {
|
|
content.append("<center>");
|
|
content.append("<table style=\" width:80%; border: 1px solid black; \">");
|
|
content.append("<tr>");
|
|
if (heading.size() > 1) {
|
|
for (String str : heading) {
|
|
content.append("<th style=\" border: 1px solid black; \">" + str + "</th>");
|
|
}
|
|
} else {
|
|
content.append("<th style=\" border: 1px solid black;\" colspan=\"" + rows.get(0).size() + "\"; >" + heading.get(0) + "</th>");
|
|
}
|
|
|
|
content.append("</tr>");
|
|
for (List<String> row : rows) {
|
|
content.append("<tr>");
|
|
for (String entry : row) {
|
|
content.append("<td style=\" border: 1px solid black; \">" + entry + "</td>");
|
|
}
|
|
content.append("</tr>");
|
|
}
|
|
content.append("</table>");
|
|
content.append("</center>");
|
|
output.setText(content.toString());
|
|
}
|
|
|
|
|
|
}
|