weka.gui.boundaryvisualizer
Class BoundaryPanel

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

public class BoundaryPanel
extends javax.swing.JPanel

BoundaryPanel. A class to handle the plotting operations associated with generating a 2D picture of a classifier's decision boundaries.

Since:
1.0
See Also:
JPanel, 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
 
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.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
BoundaryPanel(int panelWidth, int panelHeight)
          Creates a new BoundaryPanel instance.
 
Method Summary
 void addActionListener(java.awt.event.ActionListener newListener)
          Register a listener to be notified when plotting completes
protected  void initialize()
          Set up the off screen bitmap for rendering to
static void main(java.lang.String[] args)
          Main method for testing this class
 void removeActionListener(java.awt.event.ActionListener removeListener)
          Remove a listener
 void setBlueClassValue(int classVal)
          Set the class value index for the blue colour
 void setClassifier(DistributionClassifier classifier)
          Set the classifier to use.
 void setDataGenerator(DataGenerator dataGenerator)
          Set the data generator to use for generating new instances
 void setGreenClassValue(int classVal)
          Set the class value index for the green colour
 void setNumberOfSamplesFromEachGeneratingModel(int ns)
          Set how many samples to take from each generating model for use in computing the colour of a pixel
 void setRedClassValue(int classVal)
          Set the class value index for the red colour
 void setTrainingData(Instances trainingData)
          Set the training data to use
 void setXAttribute(int xatt)
          Set the x attribute index
 void setYAttribute(int yatt)
          Set the y attribute index
 void start()
          Start the plotting thread
 void stopPlotting()
          Stop the plotting thread
 
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
 

Constructor Detail

BoundaryPanel

public BoundaryPanel(int panelWidth,
                     int panelHeight)
Creates a new BoundaryPanel instance.

Parameters:
panelWidth - the width in pixels of the panel
panelHeight - the height in pixels of the panel
Method Detail

initialize

protected void initialize()
Set up the off screen bitmap for rendering to


stopPlotting

public void stopPlotting()
Stop the plotting thread


start

public void start()
           throws java.lang.Exception
Start the plotting thread

Throws:
java.lang.Exception - if an error occurs

setNumberOfSamplesFromEachGeneratingModel

public void setNumberOfSamplesFromEachGeneratingModel(int ns)
Set how many samples to take from each generating model for use in computing the colour of a pixel

Parameters:
ns - the number of samples to use from each generating model

setTrainingData

public void setTrainingData(Instances trainingData)
                     throws java.lang.Exception
Set the training data to use

Parameters:
trainingData - the training data
Throws:
java.lang.Exception - if an error occurs

addActionListener

public void addActionListener(java.awt.event.ActionListener newListener)
Register a listener to be notified when plotting completes

Parameters:
newListener - the listener to add

removeActionListener

public void removeActionListener(java.awt.event.ActionListener removeListener)
Remove a listener

Parameters:
removeListener - the listener to remove

setClassifier

public void setClassifier(DistributionClassifier classifier)
Set the classifier to use.

Parameters:
classifier - the classifier to use

setDataGenerator

public void setDataGenerator(DataGenerator dataGenerator)
Set the data generator to use for generating new instances

Parameters:
dataGenerator - the data generator to use

setRedClassValue

public void setRedClassValue(int classVal)
                      throws java.lang.Exception
Set the class value index for the red colour

Parameters:
classVal - an int value
Throws:
java.lang.Exception - if an error occurs

setGreenClassValue

public void setGreenClassValue(int classVal)
                        throws java.lang.Exception
Set the class value index for the green colour

Parameters:
classVal - an int value
Throws:
java.lang.Exception - if an error occurs

setBlueClassValue

public void setBlueClassValue(int classVal)
                       throws java.lang.Exception
Set the class value index for the blue colour

Parameters:
classVal - an int value
Throws:
java.lang.Exception - if an error occurs

setXAttribute

public void setXAttribute(int xatt)
                   throws java.lang.Exception
Set the x attribute index

Parameters:
xatt - index of the attribute to use on the x axis
Throws:
java.lang.Exception - if an error occurs

setYAttribute

public void setYAttribute(int yatt)
                   throws java.lang.Exception
Set the y attribute index

Parameters:
yatt - index of the attribute to use on the y axis
Throws:
java.lang.Exception - if an error occurs

main

public static void main(java.lang.String[] args)
Main method for testing this class

Parameters:
args - a String[] value