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 heading, List> rows) { content.append("
"); content.append(""); content.append(""); if (heading.size() > 1) { for (String str : heading) { content.append(""); } } else { content.append(""); } content.append(""); for (List row : rows) { content.append(""); for (String entry : row) { content.append(""); } content.append(""); } content.append("
" + str + "" + heading.get(0) + "
" + entry + "
"); content.append("
"); output.setText(content.toString()); } }