weka.gui
Class LogPanel

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JPanel
                  extended byweka.gui.LogPanel
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, Logger, java.awt.MenuContainer, java.io.Serializable, TaskLogger

public class LogPanel
extends javax.swing.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: 1.14 $
Author:
Len Trigg (trigg@cs.waikato.ac.nz)
See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  boolean m_First
          An indicator for whether text has been output yet
protected  javax.swing.JButton m_logButton
          The button for viewing the log
protected  javax.swing.JTextArea m_LogText
          Displays the log messages
protected  javax.swing.JLabel m_StatusLab
          Displays the current status
protected  WekaTaskMonitor m_TaskMonitor
          The panel for monitoring the number of running tasks (if supplied)
 
Fields inherited from class javax.swing.JPanel
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Container
 
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
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.
 
Method Summary
private  void addPopup()
          Add a popup menu for displaying the amount of free memory and running the garbage collector
protected static java.lang.String getTimestamp()
          Gets a string containing current date and time.
 void logMessage(java.lang.String message)
          Sends the supplied message to the log area.
static void main(java.lang.String[] args)
          Tests out the log panel from the command line.
 void statusMessage(java.lang.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
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, transferFocusBackward, 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, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

m_StatusLab

protected javax.swing.JLabel m_StatusLab
Displays the current status


m_LogText

protected javax.swing.JTextArea m_LogText
Displays the log messages


m_logButton

protected javax.swing.JButton m_logButton
The button for viewing the log


m_First

protected boolean m_First
An indicator for whether text has been output yet


m_TaskMonitor

protected WekaTaskMonitor m_TaskMonitor
The panel for monitoring the number of running tasks (if supplied)

Constructor Detail

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.
Method Detail

addPopup

private void addPopup()
Add a popup menu for displaying the amount of free memory and running the garbage collector


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

getTimestamp

protected static java.lang.String getTimestamp()
Gets a string containing current date and time.

Returns:
a string containing the date and time.

logMessage

public void logMessage(java.lang.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(java.lang.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(java.lang.String[] args)
Tests out the log panel from the command line.

Parameters:
args - ignored