Package weka.gui.explorer

# Class ClustererPanel

java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
weka.gui.AbstractPerspective
weka.gui.explorer.ClustererPanel

All Implemented Interfaces:
  `ImageObserver`, `MenuContainer`, `Serializable`, `EventListener`, `Accessible`, `Explorer.CapabilitiesFilterChangeListener`, `Explorer.ExplorerPanel`, `Explorer.LogHandler`, `Perspective`

@PerspectiveInfo(ID="weka.gui.explorer.clustererpanel", title="Cluster", toolTipText="Cluster instances", iconPath="weka/gui/weka_icon_new_small.png") public class ClustererPanel extends AbstractPerspective implements Explorer.CapabilitiesFilterChangeListener, Explorer.ExplorerPanel, Explorer.LogHandler
This panel allows the user to select and configure a clusterer, and evaluate the clusterer using a number of testing modes (test on the training data, train/test on a percentage split, test on a separate split). The results of clustering runs are stored in a result history so that previous results are accessible.

Version:
  $Revision: 15305 $
Author:
  Mark Hall (mhall@cs.waikato.ac.nz), Richard Kirkby (rkirkby@cs.waikato.ac.nz)
See Also:
  - Serialized Form

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static enum`
  `ClustererPanel.TestMode`

  ## 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
  Modifier and Type
  Field
  Description
  `static String`
  `MODEL_FILE_EXTENSION`
  The filename extension that should be used for model files

  ### 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
  `ClustererPanel()`
  Creates the clusterer panel

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `acceptsInstances()`
  Returns true if this perspective can do something meaningful with a set of instances
  `void`
  `capabilitiesFilterChanged(Explorer.CapabilitiesFilterChangeEvent e)`
  method gets called in case of a change event
  `Defaults`
  `getDefaultSettings()`
  Get the default settings for this perspective (or null if there are none)
  `Explorer`
  `getExplorer()`
  returns the parent Explorer frame
  `String`
  `getTabTitle()`
  Returns the title for the tab in the Explorer
  `String`
  `getTabTitleToolTip()`
  Returns the tooltip for the tab in the Explorer
  `static void`
  `main(String[] args)`
  Tests out the clusterer panel from the command line.
  `boolean`
  `okToBeActive()`
  Returns true if the perspective is usable at this time.
  `boolean`
  `requiresLog()`
  Whether this perspective requires a graphical log to write to
  `void`
  `setActive(boolean active)`
  Set active status of this perspective.
  `void`
  `setExplorer(Explorer parent)`
  Sets the Explorer to use as parent frame (used for sending notifications about changes in the data)
  `void`
  `setInstances(Instances inst)`
  Tells the panel to use a new set of instances.
  `void`
  `setLog(Logger newLog)`
  Sets the Logger to receive informational messages
  `void`
  `settingsChanged()`
  Called when the user alters settings.

  ### Methods inherited from class weka.gui.AbstractPerspective

  `getMainApplication, getMenus, getPerspectiveIcon, getPerspectiveID, getPerspectiveTipText, getPerspectiveTitle, instantiationComplete, setLoaded, setMainApplication, terminate, toString`

  ### 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, 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, 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, transferFocus, transferFocusBackward, transferFocusUpCycle`

  ### Methods inherited from class java.lang.Object

  `equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Field Details

  - ### MODEL_FILE_EXTENSION

    public static String MODEL_FILE_EXTENSION
    The filename extension that should be used for model files

- ## Constructor Details

  - ### ClustererPanel

    public ClustererPanel()
    Creates the clusterer panel

- ## Method Details

  - ### setLog

    public void setLog(Logger newLog)
    Sets the Logger to receive informational messages
    Specified by:
      `setLog` in interface `Explorer.LogHandler`
    Specified by:
      `setLog` in interface `Perspective`
    Overrides:
      `setLog` in class `AbstractPerspective`
    Parameters:
      `newLog` - the Logger that will now get info messages

  - ### setInstances

    public void setInstances(Instances inst)
    Tells the panel to use a new set of instances.
    Specified by:
      `setInstances` in interface `Explorer.ExplorerPanel`
    Specified by:
      `setInstances` in interface `Perspective`
    Overrides:
      `setInstances` in class `AbstractPerspective`
    Parameters:
      `inst` - a set of Instances

  - ### capabilitiesFilterChanged

    public void capabilitiesFilterChanged(Explorer.CapabilitiesFilterChangeEvent e)
    method gets called in case of a change event
    Specified by:
      `capabilitiesFilterChanged` in interface `Explorer.CapabilitiesFilterChangeListener`
    Parameters:
      `e` - the associated change event

  - ### setExplorer

    public void setExplorer(Explorer parent)
    Sets the Explorer to use as parent frame (used for sending notifications about changes in the data)
    Specified by:
      `setExplorer` in interface `Explorer.ExplorerPanel`
    Parameters:
      `parent` - the parent frame

  - ### getExplorer

    public Explorer getExplorer()
    returns the parent Explorer frame
    Specified by:
      `getExplorer` in interface `Explorer.ExplorerPanel`
    Returns:
      the parent

  - ### getTabTitle

    public String getTabTitle()
    Returns the title for the tab in the Explorer
    Specified by:
      `getTabTitle` in interface `Explorer.ExplorerPanel`
    Returns:
      the title of this tab

  - ### getTabTitleToolTip

    public String getTabTitleToolTip()
    Returns the tooltip for the tab in the Explorer
    Specified by:
      `getTabTitleToolTip` in interface `Explorer.ExplorerPanel`
    Returns:
      the tooltip of this tab

  - ### requiresLog

    public boolean requiresLog()
    Description copied from class: `AbstractPerspective`
    Whether this perspective requires a graphical log to write to
    Specified by:
      `requiresLog` in interface `Perspective`
    Overrides:
      `requiresLog` in class `AbstractPerspective`
    Returns:
      true if a log is needed by this perspective

  - ### acceptsInstances

    public boolean acceptsInstances()
    Description copied from class: `AbstractPerspective`
    Returns true if this perspective can do something meaningful with a set of instances
    Specified by:
      `acceptsInstances` in interface `Perspective`
    Overrides:
      `acceptsInstances` in class `AbstractPerspective`
    Returns:
      true if this perspective accepts instances

  - ### getDefaultSettings

    public Defaults getDefaultSettings()
    Description copied from class: `AbstractPerspective`
    Get the default settings for this perspective (or null if there are none)
    Specified by:
      `getDefaultSettings` in interface `Perspective`
    Overrides:
      `getDefaultSettings` in class `AbstractPerspective`
    Returns:
      the default settings for this perspective, or null if the perspective does not have any settings

  - ### okToBeActive

    public boolean okToBeActive()
    Description copied from class: `AbstractPerspective`
    Returns true if the perspective is usable at this time. This is a no-opp implementation that always returns true. Subclasses should override if there are specific conditions that need to be met (e.g. can't operate if there are no instances set).
    Specified by:
      `okToBeActive` in interface `Perspective`
    Overrides:
      `okToBeActive` in class `AbstractPerspective`
    Returns:
      true if this perspective is usable at this time

  - ### setActive

    public void setActive(boolean active)
    Description copied from class: `AbstractPerspective`
    Set active status of this perspective. True indicates that this perspective is the visible active perspective in the application
    Specified by:
      `setActive` in interface `Perspective`
    Overrides:
      `setActive` in class `AbstractPerspective`
    Parameters:
      `active` - true if this perspective is the active one

  - ### settingsChanged

    public void settingsChanged()
    Description copied from class: `AbstractPerspective`
    Called when the user alters settings. The settings altered by the user are not necessarily ones related to this perspective
    Specified by:
      `settingsChanged` in interface `Perspective`
    Overrides:
      `settingsChanged` in class `AbstractPerspective`

  - ### main

    public static void main(String[] args)
    Tests out the clusterer panel from the command line.
    Parameters:
      `args` - may optionally contain the name of a dataset to load.