/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
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();
}
}
|