## milk.visualize
Class MIPanel

    java.lang.Object
      |
      +--java.awt.Component
            |
            +--java.awt.Container
                  |
                  +--javax.swing.JComponent
                        |
                        +--javax.swing.JPanel
                              |
                              +--milk.visualize.MIPanel

All Implemented Interfaces:
  javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

Direct Known Subclasses:
  DistributionPanel, GeomPanel

public class MIPanel
extends javax.swing.JPanel

This class implements a panel that allows user to select some exemplars to show the visualization. Currently the visualization is either the geometric display or the distributional display of the instances inside a selected exemplar.

The GeomPanel and DistributionPanel will extend this class to get the specific panel

See Also:
  Serialized Form

Field Summary
`protected java.beans.PropertyChangeSupport` `change`
`protected javax.swing.JComboBox` `clas`
`protected int` `classIndex`
`protected weka.core.FastVector` `colorList`
`protected weka.gui.visualize.ClassPanel` `cp`
`protected Exemplars` `exemplars`
`protected javax.swing.JComboBox` `id`
`protected int` `idIndex`
`protected weka.core.Instances` `insts`
`protected javax.swing.JPanel` `ip`
`protected java.awt.Color[]` `m_DefaultColors`
`protected double` `maxC`
`protected double` `minC`

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
`MIPanel()` Constructor: it has 2 comboboxes to select Id and class of exemplars respectively, and one ClassPanel to show the class labels

Method Summary
`void` `addPropertyChangeListener(java.beans.PropertyChangeListener pcl)` Add the property change listener to hear the change of color and "exemplars" property of this class.
`Exemplars` `getExemplars()` Functions provided only for bean box
`void` `paintComponent(java.awt.Graphics gx)` Render this component.
`void` `removePropertyChangeListener(java.beans.PropertyChangeListener pcl)` Remove the property change listener to hear the change of color and "exemplars" property of this class.
`void` `setClassIndex(int cl)`
`void` `setIdIndex(int id)`
`void` `setInstances(weka.core.Instances data)`

Methods inherited from class javax.swing.JPanel
`getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI`

Methods inherited from class javax.swing.JComponent

`addAncestorListener, addNotify, 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, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, 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

### exemplars

    protected Exemplars exemplars

### cp

    protected weka.gui.visualize.ClassPanel cp

### insts

    protected weka.core.Instances insts

### ip

    protected javax.swing.JPanel ip

### clas

    protected javax.swing.JComboBox clas

### id

    protected javax.swing.JComboBox id

### colorList

    protected weka.core.FastVector colorList

### minC

    protected double minC

### maxC

    protected double maxC

### classIndex

    protected int classIndex

### idIndex

    protected int idIndex

### change

    protected java.beans.PropertyChangeSupport change

### m_DefaultColors

    protected java.awt.Color[] m_DefaultColors

Constructor Detail

### MIPanel

    public MIPanel()

  Constructor: it has 2 comboboxes to select Id and class of exemplars respectively, and one ClassPanel to show the class labels

Method Detail

### setInstances

    public void setInstances(weka.core.Instances data)

### setClassIndex

    public void setClassIndex(int cl)

### setIdIndex

    public void setIdIndex(int id)

### getExemplars

    public Exemplars getExemplars()

  Functions provided only for bean box

### paintComponent

    public void paintComponent(java.awt.Graphics gx)

  Render this component. Since when the class color changes, the ClassPanel will call the this function, this function then fires the property change event to inform the change of colors

  Overrides:
    `paintComponent` in class `javax.swing.JComponent`
  Parameters:
    `gx` - the graphics context

### addPropertyChangeListener

    public void addPropertyChangeListener(java.beans.PropertyChangeListener pcl)

  Add the property change listener to hear the change of color and "exemplars" property of this class. The latter property specifies the total exemplars read from the data file -- it's to be listened by SelectPanel

  Overrides:
    `addPropertyChangeListener` in class `javax.swing.JComponent`
  Parameters:
    `pcl` - the property change listener

### removePropertyChangeListener

    public void removePropertyChangeListener(java.beans.PropertyChangeListener pcl)

  Remove the property change listener to hear the change of color and "exemplars" property of this class. The latter property specifies the total exemplars read from the data file -- it's to be listened by SelectPanel

  Overrides:
    `removePropertyChangeListener` in class `javax.swing.JComponent`
  Parameters:
    `pcl` - the property change listener