weka.gui.visualize
Class ClassPanel

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JPanel
                          |
                          +--weka.gui.visualize.ClassPanel
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public class ClassPanel
extends javax.swing.JPanel

This panel displays coloured labels for nominal attributes and a spectrum for numeric attributes. It can also be told to colour on the basis of an array of doubles (this can be useful for displaying coloured labels that correspond to a clusterers predictions).

Author:
Mark Hall (mhall@cs.waikato.ac.nz), Malcolm Ware (mfw4@cs.waikato.ac.nz)
See Also:
Serialized Form

Inner classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Inner classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Inner classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Inner classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent
 
Field Summary
protected  java.awt.Color[] m_DefaultColors
          default colours for colouring discrete class
 
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
ClassPanel()
           
 
Method Summary
 void addRepaintNotify(java.awt.Component c)
          Adds a component that will need to be repainted if the user changes the colour of a label.
static void main(java.lang.String[] args)
          Main method for testing this class.
 void paintComponent(java.awt.Graphics gx)
          Renders this component
protected  void paintNominal(java.awt.Graphics gx)
          Renders the legend for a nominal colouring attribute
protected  void paintNumeric(java.awt.Graphics gx)
          Renders the legend for a numeric colouring attribute
protected  void setCindex(int cIndex)
          Set the index of the attribute to display coloured labels for
 void setColours(FastVector cols)
          Set a list of colours to use for colouring labels
protected  void setInstances(Instances insts)
          Set the instances.
protected  void setNominal()
          Sets the legend to be for a nominal variable
protected  void setNumeric()
          Sets the legend to be for a numeric variable
protected  void setOn(boolean e)
          Enables the panel
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUIClassID, paramString, 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, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getVerifyInputWhenFocusTarget, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, hide, isDoubleBuffered, isFocusCycleRoot, isFocusTraversable, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processFocusEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getLayout, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setLayout, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, imageUpdate, inside, isDisplayable, isEnabled, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

m_DefaultColors

protected java.awt.Color[] m_DefaultColors
default colours for colouring discrete class
Constructor Detail

ClassPanel

public ClassPanel()
Method Detail

addRepaintNotify

public void addRepaintNotify(java.awt.Component c)
Adds a component that will need to be repainted if the user changes the colour of a label.
Parameters:
c - the component to be repainted

setOn

protected void setOn(boolean e)
Enables the panel
Parameters:
e - true to enable the panel

setInstances

protected void setInstances(Instances insts)
Set the instances.
Parameters:
insts - the instances

setCindex

protected void setCindex(int cIndex)
Set the index of the attribute to display coloured labels for
Parameters:
cIndex - the index of the attribute to display coloured labels for

setColours

public void setColours(FastVector cols)
Set a list of colours to use for colouring labels
Parameters:
a - list containing java.awt.Colors

setNominal

protected void setNominal()
Sets the legend to be for a nominal variable
Parameters:
plotInstances - the instances currently being plotted
cIndex - the index of the colouring attribute

setNumeric

protected void setNumeric()
Sets the legend to be for a numeric variable
Parameters:
mxC - the maximum value of the colouring attribute
mnC - the minimum value of the colouring attribute

paintNominal

protected void paintNominal(java.awt.Graphics gx)
Renders the legend for a nominal colouring attribute
Parameters:
gx - the graphics context

paintNumeric

protected void paintNumeric(java.awt.Graphics gx)
Renders the legend for a numeric colouring attribute
Parameters:
gx - the graphics context

paintComponent

public void paintComponent(java.awt.Graphics gx)
Renders this component
Overrides:
paintComponent in class javax.swing.JComponent
Parameters:
gx - the graphics context

main

public static void main(java.lang.String[] args)
Main method for testing this class.
Parameters:
args - first argument must specify an arff file. Second can specify an optional index to colour labels on