package org.lodder.subtools.multisubdownloader.gui.panels; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.DefaultComboBoxModel; import javax.swing.JComboBox; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JSeparator; import javax.swing.JTextArea; import net.miginfocom.swing.MigLayout; import org.lodder.subtools.multisubdownloader.gui.extra.LogTextAppender; import ch.qos.logback.classic.Level; public class LoggingPanel extends JPanel { /** * */ private static final long serialVersionUID = 1578326761175927376L; private JTextArea txtLogging; private ch.qos.logback.classic.Logger root = (ch.qos.logback.classic.Logger) org.slf4j.LoggerFactory .getLogger(ch.qos.logback.classic.Logger.ROOT_LOGGER_NAME); public LoggingPanel() { this.setLayout(new MigLayout("", "[698px,grow][]", "[][70px,grow]")); final JScrollPane scrollPane_1 = new JScrollPane(); this.add(new JLabel("Logging"), "cell 0 0,alignx right,gaptop 5"); this.add(new JSeparator(), "cell 0 0,growx,gaptop 5"); final JComboBox<Level> cbxLogLevel = new JComboBox<Level>(); Level[] logLevels = new Level[] {Level.ALL, Level.TRACE, Level.DEBUG, Level.INFO, Level.WARN, Level.ERROR}; cbxLogLevel.setModel(new DefaultComboBoxModel<Level>(logLevels)); cbxLogLevel.setSelectedItem(root.getLevel()); cbxLogLevel.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { root.setLevel((Level) cbxLogLevel.getSelectedItem()); } }); this.add(cbxLogLevel, "cell 1 0,alignx right"); this.add(scrollPane_1, "cell 0 1 2 1,grow"); txtLogging = new JTextArea(); scrollPane_1.setViewportView(txtLogging); txtLogging.setEditable(false); txtLogging.setAutoscrolls(true); new LogTextAppender(txtLogging); } public void setLogText(String str1) { this.txtLogging.setText(str1); repaint(); } }