Package org.apache.log4j.chainsaw
Class LogUI
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- java.awt.Window
-
- java.awt.Frame
-
- javax.swing.JFrame
-
- org.apache.log4j.chainsaw.LogUI
-
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
,EventListener
,Accessible
,RootPaneContainer
,WindowConstants
,ChainsawViewer
,SettingsListener
public class LogUI extends JFrame implements ChainsawViewer, SettingsListener
The main entry point for Chainsaw, this class represents the first frame that is used to display a Welcome panel, and any other panels that are generated because Logging Events are streamed via a Receiver, or other mechanism.NOTE: Some of Chainsaw's application initialization should be performed prior to activating receivers and the logging framework used to perform self-logging.
DELAY as much as possible the logging framework initialization process, currently initialized by the creation of a ChainsawAppenderHandler.
- Author:
- Scott Deboy <sdeboy@apache.org>, Paul Smith <psmith@apache.org>
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.swing.JFrame
JFrame.AccessibleJFrame
-
Nested classes/interfaces inherited from class java.awt.Frame
Frame.AccessibleAWTFrame
-
Nested classes/interfaces inherited from class java.awt.Window
Window.AccessibleAWTWindow, Window.Type
-
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
-
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
-
Field Summary
-
Fields inherited from class javax.swing.JFrame
accessibleContext, rootPane, rootPaneCheckingEnabled
-
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
-
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
-
-
Constructor Summary
Constructors Constructor Description LogUI()
Constructor which builds up all the visual elements of the frame including the Menu bar
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
activateViewer()
Activates itself as a viewer by configuring Size, and location of itself, and configures the default Tabbed Pane elements with the correct layout, table columns, and sets itself viewable.void
activateViewer(ChainsawAppender appender)
Allow Chainsaw v2 to be ran in-process (configured as a ChainsawAppender) NOTE: Closing Chainsaw will NOT stop the application generating the events.void
addShutdownListener(ShutdownListener l)
Registers a ShutdownListener with this calss so that it can be notified when the user has requested that Chainsaw exit.static void
createChainsawGUI(ApplicationPreferenceModel model, Action newShutdownAction)
Creates, activates, and then shows the Chainsaw GUI, optionally showing the splash screen, and using the passed shutdown action when the user requests to exit the application (if null, then Chainsaw will exit the vm)void
createCustomExpressionLogPanel(String ident)
boolean
exit()
Exits the application, ensuring Settings are saved.String
getActiveTabName()
DOCUMENT ME!ApplicationPreferenceModel
getApplicationPreferenceModel()
List<String>
getFilterableColumns()
DOCUMENT ME!Map<String,Component>
getPanelMap()
DOCUMENT ME!SettingsManager
getSettingsManager()
DOCUMENT ME!org.apache.log4j.chainsaw.ChainsawTabbedPane
getTabbedPane()
DOCUMENT ME!Map
getTableMap()
DOCUMENT ME!Map
getTableModelMap()
DOCUMENT ME!org.apache.log4j.chainsaw.ChainsawToolBarAndMenus
getToolBarAndMenus()
DOCUMENT ME!boolean
isLogTreePanelVisible()
DOCUMENT ME!void
loadSettings(LoadSettingsEvent event)
Given the load event, configures the size/location of the main window etc etc.static void
main(String[] args)
Starts Chainsaw by attaching a new instance to the Log4J main root Logger via a ChainsawAppender, and activates itselfvoid
removeShutdownListener(ShutdownListener l)
Removes the registered ShutdownListener so that the listener will not be notified on a shutdown.void
saveSettings(SaveSettingsEvent event)
Ensures the location/size of the main window is stored with the settingsvoid
setShutdownAction(Action shutdownAction)
Configures LogUI's with an action to execute when the user requests to exit the application, the default action is to exit the VM.void
setTabbedPane(org.apache.log4j.chainsaw.ChainsawTabbedPane tabbedPane)
DOCUMENT ME!void
setToolBarAndMenus(org.apache.log4j.chainsaw.ChainsawToolBarAndMenus tbms)
DOCUMENT ME!void
setupTutorial()
DOCUMENT ME!void
showAboutBox()
void
showApplicationPreferences()
void
showHelp(URL url)
Causes the Welcome Panel to become visible, and shows the URL specified as it's contentsvoid
showReceiverConfiguration()
boolean
shutdown()
Shutsdown by ensuring the Appender gets a chance to close.-
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
-
Methods inherited from class java.awt.Frame
addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setBackground, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecorated
-
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, setVisible, show, toBack, toFront
-
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusDownCycle, validate, validateTree
-
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
-
-
-
-
Method Detail
-
addShutdownListener
public void addShutdownListener(ShutdownListener l)
Registers a ShutdownListener with this calss so that it can be notified when the user has requested that Chainsaw exit.- Parameters:
l
-
-
removeShutdownListener
public void removeShutdownListener(ShutdownListener l)
Removes the registered ShutdownListener so that the listener will not be notified on a shutdown.- Parameters:
l
-
-
main
public static void main(String[] args)
Starts Chainsaw by attaching a new instance to the Log4J main root Logger via a ChainsawAppender, and activates itself- Parameters:
args
-
-
createChainsawGUI
public static void createChainsawGUI(ApplicationPreferenceModel model, Action newShutdownAction)
Creates, activates, and then shows the Chainsaw GUI, optionally showing the splash screen, and using the passed shutdown action when the user requests to exit the application (if null, then Chainsaw will exit the vm)- Parameters:
model
-newShutdownAction
- DOCUMENT ME!
-
activateViewer
public void activateViewer(ChainsawAppender appender)
Allow Chainsaw v2 to be ran in-process (configured as a ChainsawAppender) NOTE: Closing Chainsaw will NOT stop the application generating the events.- Specified by:
activateViewer
in interfaceChainsawViewer
- Parameters:
appender
-
-
loadSettings
public void loadSettings(LoadSettingsEvent event)
Given the load event, configures the size/location of the main window etc etc.- Specified by:
loadSettings
in interfaceSettingsListener
- Parameters:
event
- DOCUMENT ME!
-
saveSettings
public void saveSettings(SaveSettingsEvent event)
Ensures the location/size of the main window is stored with the settings- Specified by:
saveSettings
in interfaceSettingsListener
- Parameters:
event
- DOCUMENT ME!
-
activateViewer
public void activateViewer()
Activates itself as a viewer by configuring Size, and location of itself, and configures the default Tabbed Pane elements with the correct layout, table columns, and sets itself viewable.
-
exit
public boolean exit()
Exits the application, ensuring Settings are saved.
-
showApplicationPreferences
public void showApplicationPreferences()
-
showReceiverConfiguration
public void showReceiverConfiguration()
-
showAboutBox
public void showAboutBox()
-
shutdown
public boolean shutdown()
Shutsdown by ensuring the Appender gets a chance to close.
-
setShutdownAction
public final void setShutdownAction(Action shutdownAction)
Configures LogUI's with an action to execute when the user requests to exit the application, the default action is to exit the VM. This Action is called AFTER all the ShutdownListeners have been notified- Parameters:
shutdownAction
-
-
getActiveTabName
public String getActiveTabName()
DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
showHelp
public void showHelp(URL url)
Causes the Welcome Panel to become visible, and shows the URL specified as it's contents- Parameters:
url
- for content to show
-
isLogTreePanelVisible
public boolean isLogTreePanelVisible()
DOCUMENT ME!- Returns:
- log tree panel visible flag
-
getSettingsManager
public SettingsManager getSettingsManager()
DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
setToolBarAndMenus
public void setToolBarAndMenus(org.apache.log4j.chainsaw.ChainsawToolBarAndMenus tbms)
DOCUMENT ME!- Parameters:
tbms
- DOCUMENT ME!
-
getToolBarAndMenus
public org.apache.log4j.chainsaw.ChainsawToolBarAndMenus getToolBarAndMenus()
DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
getTableMap
public Map getTableMap()
DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
getTableModelMap
public Map getTableModelMap()
DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
setTabbedPane
public void setTabbedPane(org.apache.log4j.chainsaw.ChainsawTabbedPane tabbedPane)
DOCUMENT ME!- Parameters:
tabbedPane
- DOCUMENT ME!
-
getTabbedPane
public org.apache.log4j.chainsaw.ChainsawTabbedPane getTabbedPane()
DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
getApplicationPreferenceModel
public final ApplicationPreferenceModel getApplicationPreferenceModel()
- Returns:
- Returns the applicationPreferenceModel.
-
setupTutorial
public void setupTutorial()
DOCUMENT ME!
-
createCustomExpressionLogPanel
public void createCustomExpressionLogPanel(String ident)
-
-