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, EXIT_ON_CLOSE, 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 javax.swing.WindowConstants

      `DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE`

    - ### Fields inherited from interface java.awt.image.ImageObserver

      `ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`

  - ### Constructor Summary

    Constructors
    Constructor and 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 and 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` | `getFilterableColumns()` DOCUMENT ME!
    `Map` | `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 itself
    `void` | `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 settings
    `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.
    `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 contents
    `void` | `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, getPeer, 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, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, 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`

- - ### Constructor Detail

    - #### LogUI

          public LogUI()

      Constructor which builds up all the visual elements of the frame including the Menu bar

  - ### 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 interface `ChainsawViewer`
      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 interface `SettingsListener`
      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 interface `SettingsListener`
      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

    - #### getPanelMap

          public Map getPanelMap()

      DOCUMENT ME!
      Returns:
        DOCUMENT ME!

    - #### getSettingsManager

          public SettingsManager getSettingsManager()

      DOCUMENT ME!
      Returns:
        DOCUMENT ME!

    - #### getFilterableColumns

          public List getFilterableColumns()

      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)

Copyright © 2002-2018 Apache Software Foundation. All Rights Reserved.
Apache Logging, Apache Log4j, Log4j, Apache Chainsaw, Chainsaw, Apache, the Apache feather logo, the Apache Logging project logo, and the Apache Log4j logo are trademarks of The Apache Software Foundation.