blob: 2c297fdd66e106a11708c1e9032ce11d23dbc9d9 [file] [log] [blame]
/*
* Copyright (C) The Apache Software Foundation. All rights reserved.
*
* This software is published under the terms of the Apache Software
* License version 1.1, a copy of which has been included with this
* distribution in the LICENSE.APL file. */
package org.apache.log4j.gui.examples;
import java.awt.BorderLayout;
import java.awt.event.*;
import javax.swing.*;
import org.apache.log4j.*;
import org.apache.log4j.gui.*;
public class TextPaneAppenderExample implements ActionListener {
JFrame mainframe;
ButtonGroup priorities;
TextPaneAppender tpa;
Category gui;
Priority prio[];
JTabbedPane logview;
public TextPaneAppenderExample () {
mainframe = new JFrame("Testing the TextPaneAppender...");
mainframe.setSize(300,300);
logview = new JTabbedPane();
createLogger();
createMenuBar();
mainframe.setVisible(true);
mainframe.getContentPane().add(logview);
}
public void createLogger() {
tpa = new TextPaneAppender(new PatternLayout("%-5p %d [%t]: %m%n"),"Debug");
logview.addTab("Events ...",new JScrollPane(tpa.getTextPane()));
gui = Category.getInstance(this.getClass().getName());
gui.addAppender(tpa);
}
public void createMenuBar() {
JMenu file = new JMenu("File");
JMenuItem exit = new JMenuItem("Exit");
exit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
System.exit(0);
}
});
file.add(exit);
JMenuBar mb = new JMenuBar();
mb.add(file);
JMenu logevent = new JMenu("LoggingEvents");
JMenu selectprio = new JMenu("Priority");
prio = Priority.getAllPossiblePriorities();
JRadioButtonMenuItem priority[]= new JRadioButtonMenuItem[prio.length];
priorities = new ButtonGroup();
for (int i=0; i<prio.length;i++) {
if (i==0)
priority[i] = new JRadioButtonMenuItem(prio[i].toString(),true);
else
priority[i] = new JRadioButtonMenuItem(prio[i].toString());
priority[i].setActionCommand(prio[i].toString());
selectprio.add(priority[i]);
priorities.add(priority[i]);
}
logevent.add(selectprio);
JMenuItem lognow = new JMenuItem("LogIt!");
lognow.addActionListener(this);
logevent.add(lognow);
mb.add(logevent);
mainframe.setJMenuBar(mb);
}
public void actionPerformed(ActionEvent ae){
String logtext = JOptionPane.showInputDialog("Text to log");
if (logtext == null) logtext="NO Input";
int i=0;
String name = priorities.getSelection().getActionCommand();
while (!prio[i].toString().equals(name))
i=i+1;
gui.log(prio[i],logtext);
}
static public void main(String args[]) {
TextPaneAppenderExample tpex = new TextPaneAppenderExample();
}
}