Package weka.gui

# Class LogPanel

java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
weka.gui.LogPanel

All Implemented Interfaces:
  `ImageObserver`, `MenuContainer`, `Serializable`, `Accessible`, `Logger`, `TaskLogger`

public class LogPanel extends JPanel implements Logger, TaskLogger
This panel allows log and status messages to be posted. Log messages appear in a scrollable text area, and status messages appear as one-line transient messages.

Version:
  $Revision: 15305 $
Author:
  Len Trigg (trigg@cs.waikato.ac.nz)
See Also:
  - Serialized Form

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class javax.swing.JComponent

  `JComponent.AccessibleJComponent`

  ## Nested classes/interfaces inherited from class java.awt.Component

  `Component.BaselineResizeBehavior`

- ## Field Summary

  ### Fields inherited from class javax.swing.JComponent

  `TOOL_TIP_TEXT_KEY, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW`

  ### 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`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `LogPanel()`
  Creates the log panel with no task monitor and the log always visible.
  `LogPanel(WekaTaskMonitor tm)`
  Creates the log panel with a task monitor, where the log is hidden.
  `LogPanel(WekaTaskMonitor tm, boolean logHidden)`
  Creates the log panel, possibly with task monitor, where the log is optionally hidden.
  `LogPanel(WekaTaskMonitor tm, boolean logHidden, boolean statusHidden, boolean titledBorder)`
  Creates the log panel, possibly with task monitor, where the either the log is optionally hidden or the status (having both hidden is not allowed).

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `logMessage(String message)`
  Sends the supplied message to the log area.
  `static void`
  `main(String[] args)`
  Tests out the log panel from the command line.
  `void`
  `setLoggingFontSize(int size)`
  Set the size of the font used in the log message area.
  `void`
  `statusMessage(String message)`
  Sends the supplied message to the status line.
  `void`
  `taskFinished()`
  Record a task ending
  `void`
  `taskStarted()`
  Record the starting of a new task
  `void`
  `terminate()`
  Terminates this panel, which means, in the case of this panel, that it terminates the frame that it may have created.

  ### Methods inherited from class javax.swing.JPanel

  `getAccessibleContext, getUI, getUIClassID, setUI, updateUI`

  ### Methods inherited from class javax.swing.JComponent

  `addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintImmediately, paintImmediately, print, printAll, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update`

  ### Methods inherited from class java.awt.Container

  `add, add, add, add, add, addContainerListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate`

  ### Methods inherited from class java.awt.Component

  `action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, createImage, createImage, createVolatileImage, createVolatileImage, dispatchEvent, enable, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle`

  ### Methods inherited from class java.lang.Object

  `equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### LogPanel

    public LogPanel()
    Creates the log panel with no task monitor and the log always visible.

  - ### LogPanel

    public LogPanel(WekaTaskMonitor tm)
    Creates the log panel with a task monitor, where the log is hidden.
    Parameters:
      `tm` - the task monitor, or null for none

  - ### LogPanel

    public LogPanel(WekaTaskMonitor tm, boolean logHidden)
    Creates the log panel, possibly with task monitor, where the log is optionally hidden.
    Parameters:
      `tm` - the task monitor, or null for none
      `logHidden` - true if the log should be hidden and acessible via a button, or false if the log should always be visible.

  - ### LogPanel

    public LogPanel(WekaTaskMonitor tm, boolean logHidden, boolean statusHidden, boolean titledBorder)
    Creates the log panel, possibly with task monitor, where the either the log is optionally hidden or the status (having both hidden is not allowed).
    Parameters:
      `tm` - the task monitor, or null for none
      `logHidden` - true if the log should be hidden and acessible via a button, or false if the log should always be visible.
      `statusHidden` - true if the status bar should be hidden (i.e.
      `titledBorder` - true if the log should have a title you only want the log part).

- ## Method Details

  - ### terminate

    public void terminate()
    Terminates this panel, which means, in the case of this panel, that it terminates the frame that it may have created.

  - ### setLoggingFontSize

    public void setLoggingFontSize(int size)
    Set the size of the font used in the log message area. <= 0 will use the default for JTextArea.
    Parameters:
      `size` - the size of the font to use in the log message area

  - ### taskStarted

    public void taskStarted()
    Record the starting of a new task
    Specified by:
      `taskStarted` in interface `TaskLogger`

  - ### taskFinished

    public void taskFinished()
    Record a task ending
    Specified by:
      `taskFinished` in interface `TaskLogger`

  - ### logMessage

    public void logMessage(String message)
    Sends the supplied message to the log area. The current timestamp will be prepended.
    Specified by:
      `logMessage` in interface `Logger`
    Parameters:
      `message` - a value of type 'String'

  - ### statusMessage

    public void statusMessage(String message)
    Sends the supplied message to the status line.
    Specified by:
      `statusMessage` in interface `Logger`
    Parameters:
      `message` - the status message

  - ### main

    public static void main(String[] args)
    Tests out the log panel from the command line.
    Parameters:
      `args` - ignored