Package weka.gui.beans

# Class ModelPerformanceChart

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

All Implemented Interfaces:
  `ImageObserver`, `MenuContainer`, `BeanContextChild`, `Serializable`, `EventListener`, `Accessible`, `EnvironmentHandler`, `BeanCommon`, `EventConstraints`, `HeadlessEventCollector`, `ThresholdDataListener`, `UserRequestAcceptor`, `Visible`, `VisualizableErrorListener`

public class ModelPerformanceChart extends JPanel implements ThresholdDataListener, VisualizableErrorListener, Visible, UserRequestAcceptor, EventConstraints, Serializable, BeanContextChild, HeadlessEventCollector, BeanCommon, EnvironmentHandler
Bean that can be used for displaying threshold curves (e.g. ROC curves) and scheme error plots

Version:
  $Revision: 12409 $
Author:
  Mark Hall
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
  `ModelPerformanceChart()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `acceptDataSet(ThresholdDataEvent e)`
  Display a threshold curve.
  `void`
  `acceptDataSet(VisualizableErrorEvent e)`
  Display a scheme error plot.
  `void`
  `addImageListener(ImageListener cl)`
  Add an image listener
  `void`
  `addPropertyChangeListener(String name, PropertyChangeListener pcl)`
  Add a property change listener to this bean
  `void`
  `addVetoableChangeListener(String name, VetoableChangeListener vcl)`
  Add a vetoable change listener to this bean
  `boolean`
  `connectionAllowed(EventSetDescriptor esd)`
  Returns true if, at this time, the object will accept a connection via the supplied EventSetDescriptor
  `boolean`
  `connectionAllowed(String eventName)`
  Returns true if, at this time, the object will accept a connection via the named event
  `void`
  `connectionNotification(String eventName, Object source)`
  Notify this object that it has been registered as a listener with a source for recieving events described by the named event This object is responsible for recording this fact.
  `void`
  `disconnectionNotification(String eventName, Object source)`
  Notify this object that it has been deregistered as a listener with a source for named event.
  `Enumeration<String>`
  `enumerateRequests()`
  Describe `enumerateRequests` method here.
  `boolean`
  `eventGeneratable(String eventName)`
  Returns true, if at the current time, the named event could be generated.
  `BeanContext`
  `getBeanContext()`
  Return the bean context (if any) that this bean is embedded in
  `String`
  `getCustomName()`
  Get the custom (descriptive) name for this bean (if one has been set)
  `String`
  `getOffscreenAdditionalOpts()`
  Get the additional options for the offscreen renderer
  `String`
  `getOffscreenHeight()`
  Get the height (in pixels) of the offscreen image to generate
  `String`
  `getOffscreenRendererName()`
  Get the name of the renderer to use for offscreen chart rendering operations
  `String`
  `getOffscreenWidth()`
  Get the width (in pixels) of the offscreen image to generate.
  `String`
  `getOffscreenXAxis()`
  Get the name of the attribute for the x-axis in offscreen plots
  `String`
  `getOffscreenYAxis()`
  Get the name of the attribute for the y-axix of offscreen plots.
  `BeanVisual`
  `getVisual()`
  Return the visual appearance of this bean
  `String`
  `globalInfo()`
  Global info for this bean
  `boolean`
  `isBusy()`
  Returns true if.
  `static void`
  `main(String[] args)`
  `void`
  `performRequest(String request)`
  Describe `performRequest` method here.
  `void`
  `processHeadlessEvents(List<EventObject> headless)`
  Process a list of events that have been collected earlier.
  `void`
  `removeImageListener(ImageListener cl)`
  Remove an image listener
  `void`
  `removePropertyChangeListener(String name, PropertyChangeListener pcl)`
  Remove a property change listener from this bean
  `void`
  `removeVetoableChangeListener(String name, VetoableChangeListener vcl)`
  Remove a vetoable change listener from this bean
  `List<EventObject>`
  `retrieveHeadlessEvents()`
  Get the list of events processed in headless mode.
  `void`
  `setBeanContext(BeanContext bc)`
  Set a bean context for this bean
  `void`
  `setCustomName(String name)`
  Set a custom (descriptive) name for this bean
  `void`
  `setEnvironment(Environment env)`
  Set environment variables to use.
  `void`
  `setLog(Logger logger)`
  Set a logger
  `void`
  `setOffscreenAdditionalOpts(String additional)`
  Set the additional options for the offscreen renderer
  `void`
  `setOffscreenHeight(String height)`
  Set the height (in pixels) of the offscreen image to generate
  `void`
  `setOffscreenRendererName(String rendererName)`
  Set the name of the renderer to use for offscreen chart rendering operations
  `void`
  `setOffscreenWidth(String width)`
  Set the width (in pixels) of the offscreen image to generate.
  `void`
  `setOffscreenXAxis(String xAxis)`
  Set the name of the attribute for the x-axis in offscreen plots.
  `void`
  `setOffscreenYAxis(String yAxis)`
  Set the name of the attribute for the y-axis in offscreen plots.
  `void`
  `setVisual(BeanVisual newVisual)`
  Set the visual appearance of this bean
  `void`
  `stop()`
  Stop any processing that the bean might be doing.
  `void`
  `useDefaultVisual()`
  Use the default appearance for this bean

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

  - ### ModelPerformanceChart

    public ModelPerformanceChart()

- ## Method Details

  - ### globalInfo

    public String globalInfo()
    Global info for this bean
    Returns:
      a `String` value

  - ### acceptDataSet

    public void acceptDataSet(ThresholdDataEvent e)
    Display a threshold curve.
    Specified by:
      `acceptDataSet` in interface `ThresholdDataListener`
    Parameters:
      `e` - a ThresholdDataEvent

  - ### acceptDataSet

    public void acceptDataSet(VisualizableErrorEvent e)
    Display a scheme error plot.
    Specified by:
      `acceptDataSet` in interface `VisualizableErrorListener`
    Parameters:
      `e` - a VisualizableErrorEvent

  - ### retrieveHeadlessEvents

    public List<EventObject> retrieveHeadlessEvents()
    Get the list of events processed in headless mode. May return null or an empty list if not running in headless mode or no events were processed
    Specified by:
      `retrieveHeadlessEvents` in interface `HeadlessEventCollector`
    Returns:
      a list of EventObjects or null.

  - ### processHeadlessEvents

    public void processHeadlessEvents(List<EventObject> headless)
    Process a list of events that have been collected earlier. Has no affect if the component is running in headless mode.
    Specified by:
      `processHeadlessEvents` in interface `HeadlessEventCollector`
    Parameters:
      `headless` - a list of EventObjects to process.

  - ### setVisual

    public void setVisual(BeanVisual newVisual)
    Set the visual appearance of this bean
    Specified by:
      `setVisual` in interface `Visible`
    Parameters:
      `newVisual` - a `BeanVisual` value

  - ### getVisual

    public BeanVisual getVisual()
    Return the visual appearance of this bean
    Specified by:
      `getVisual` in interface `Visible`
    Returns:
      a `BeanVisual` value

  - ### useDefaultVisual

    public void useDefaultVisual()
    Use the default appearance for this bean
    Specified by:
      `useDefaultVisual` in interface `Visible`

  - ### enumerateRequests

    public Enumeration<String> enumerateRequests()
    Describe `enumerateRequests` method here.
    Specified by:
      `enumerateRequests` in interface `UserRequestAcceptor`
    Returns:
      an `Enumeration` value

  - ### addPropertyChangeListener

    public void addPropertyChangeListener(String name, PropertyChangeListener pcl)
    Add a property change listener to this bean
    Specified by:
      `addPropertyChangeListener` in interface `BeanContextChild`
    Overrides:
      `addPropertyChangeListener` in class `Container`
    Parameters:
      `name` - the name of the property of interest
      `pcl` - a `PropertyChangeListener` value

  - ### removePropertyChangeListener

    public void removePropertyChangeListener(String name, PropertyChangeListener pcl)
    Remove a property change listener from this bean
    Specified by:
      `removePropertyChangeListener` in interface `BeanContextChild`
    Overrides:
      `removePropertyChangeListener` in class `Component`
    Parameters:
      `name` - the name of the property of interest
      `pcl` - a `PropertyChangeListener` value

  - ### addVetoableChangeListener

    public void addVetoableChangeListener(String name, VetoableChangeListener vcl)
    Add a vetoable change listener to this bean
    Specified by:
      `addVetoableChangeListener` in interface `BeanContextChild`
    Parameters:
      `name` - the name of the property of interest
      `vcl` - a `VetoableChangeListener` value

  - ### removeVetoableChangeListener

    public void removeVetoableChangeListener(String name, VetoableChangeListener vcl)
    Remove a vetoable change listener from this bean
    Specified by:
      `removeVetoableChangeListener` in interface `BeanContextChild`
    Parameters:
      `name` - the name of the property of interest
      `vcl` - a `VetoableChangeListener` value

  - ### setBeanContext

    public void setBeanContext(BeanContext bc)
    Set a bean context for this bean
    Specified by:
      `setBeanContext` in interface `BeanContextChild`
    Parameters:
      `bc` - a `BeanContext` value

  - ### getBeanContext

    public BeanContext getBeanContext()
    Return the bean context (if any) that this bean is embedded in
    Specified by:
      `getBeanContext` in interface `BeanContextChild`
    Returns:
      a `BeanContext` value

  - ### performRequest

    public void performRequest(String request)
    Describe `performRequest` method here.
    Specified by:
      `performRequest` in interface `UserRequestAcceptor`
    Parameters:
      `request` - a `String` value
    Throws:
      `IllegalArgumentException` - if an error occurs

  - ### main

    public static void main(String[] args)

  - ### setCustomName

    public void setCustomName(String name)
    Set a custom (descriptive) name for this bean
    Specified by:
      `setCustomName` in interface `BeanCommon`
    Parameters:
      `name` - the name to use

  - ### getCustomName

    public String getCustomName()
    Get the custom (descriptive) name for this bean (if one has been set)
    Specified by:
      `getCustomName` in interface `BeanCommon`
    Returns:
      the custom name (or the default name)

  - ### stop

    public void stop()
    Stop any processing that the bean might be doing.
    Specified by:
      `stop` in interface `BeanCommon`

  - ### isBusy

    public boolean isBusy()
    Returns true if. at this time, the bean is busy with some (i.e. perhaps a worker thread is performing some calculation).
    Specified by:
      `isBusy` in interface `BeanCommon`
    Returns:
      true if the bean is busy.

  - ### addImageListener

    public void addImageListener(ImageListener cl)
    Add an image listener
    Parameters:
      `cl` - a `ImageListener` value

  - ### removeImageListener

    public void removeImageListener(ImageListener cl)
    Remove an image listener
    Parameters:
      `cl` - a `ImageListener` value

  - ### setLog

    public void setLog(Logger logger)
    Set a logger
    Specified by:
      `setLog` in interface `BeanCommon`
    Parameters:
      `logger` - a `Logger` value

  - ### connectionAllowed

    public boolean connectionAllowed(EventSetDescriptor esd)
    Returns true if, at this time, the object will accept a connection via the supplied EventSetDescriptor
    Specified by:
      `connectionAllowed` in interface `BeanCommon`
    Parameters:
      `esd` - the EventSetDescriptor
    Returns:
      true if the object will accept a connection

  - ### connectionAllowed

    public boolean connectionAllowed(String eventName)
    Returns true if, at this time, the object will accept a connection via the named event
    Specified by:
      `connectionAllowed` in interface `BeanCommon`
    Parameters:
      `eventName` - the name of the event
    Returns:
      true if the object will accept a connection

  - ### connectionNotification

    public void connectionNotification(String eventName, Object source)
    Notify this object that it has been registered as a listener with a source for recieving events described by the named event This object is responsible for recording this fact.
    Specified by:
      `connectionNotification` in interface `BeanCommon`
    Parameters:
      `eventName` - the event
      `source` - the source with which this object has been registered as a listener

  - ### disconnectionNotification

    public void disconnectionNotification(String eventName, Object source)
    Notify this object that it has been deregistered as a listener with a source for named event. This object is responsible for recording this fact.
    Specified by:
      `disconnectionNotification` in interface `BeanCommon`
    Parameters:
      `eventName` - the event
      `source` - the source with which this object has been registered as a listener

  - ### eventGeneratable

    public boolean eventGeneratable(String eventName)
    Returns true, if at the current time, the named event could be generated. Assumes that supplied event names are names of events that could be generated by this bean.
    Specified by:
      `eventGeneratable` in interface `EventConstraints`
    Parameters:
      `eventName` - the name of the event in question
    Returns:
      true if the named event could be generated at this point in time

  - ### setEnvironment

    public void setEnvironment(Environment env)
    Description copied from interface: `EnvironmentHandler`
    Set environment variables to use.
    Specified by:
      `setEnvironment` in interface `EnvironmentHandler`
    Parameters:
      `env` - the environment variables to use

  - ### setOffscreenXAxis

    public void setOffscreenXAxis(String xAxis)
    Set the name of the attribute for the x-axis in offscreen plots. This defaults to "False Positive Rate" for threshold curves if not specified.
    Parameters:
      `xAxis` - the name of the xAxis

  - ### getOffscreenXAxis

    public String getOffscreenXAxis()
    Get the name of the attribute for the x-axis in offscreen plots
    Returns:
      the name of the xAxis

  - ### setOffscreenYAxis

    public void setOffscreenYAxis(String yAxis)
    Set the name of the attribute for the y-axis in offscreen plots. This defaults to "True Positive Rate" for threshold curves if not specified.
    Parameters:
      `yAxis` - the name of the xAxis

  - ### getOffscreenYAxis

    public String getOffscreenYAxis()
    Get the name of the attribute for the y-axix of offscreen plots.
    Returns:
      the name of the yAxis.

  - ### setOffscreenWidth

    public void setOffscreenWidth(String width)
    Set the width (in pixels) of the offscreen image to generate.
    Parameters:
      `width` - the width in pixels.

  - ### getOffscreenWidth

    public String getOffscreenWidth()
    Get the width (in pixels) of the offscreen image to generate.
    Returns:
      the width in pixels.

  - ### setOffscreenHeight

    public void setOffscreenHeight(String height)
    Set the height (in pixels) of the offscreen image to generate
    Parameters:
      `height` - the height in pixels

  - ### getOffscreenHeight

    public String getOffscreenHeight()
    Get the height (in pixels) of the offscreen image to generate
    Returns:
      the height in pixels

  - ### setOffscreenRendererName

    public void setOffscreenRendererName(String rendererName)
    Set the name of the renderer to use for offscreen chart rendering operations
    Parameters:
      `rendererName` - the name of the renderer to use

  - ### getOffscreenRendererName

    public String getOffscreenRendererName()
    Get the name of the renderer to use for offscreen chart rendering operations
    Returns:
      the name of the renderer to use

  - ### setOffscreenAdditionalOpts

    public void setOffscreenAdditionalOpts(String additional)
    Set the additional options for the offscreen renderer
    Parameters:
      `additional` - additional options

  - ### getOffscreenAdditionalOpts

    public String getOffscreenAdditionalOpts()
    Get the additional options for the offscreen renderer
    Returns:
      the additional options