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:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.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: 14497 $
  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 and Description
    --- | ---
    `static class` | `ClustererPanel.TestMode`

    - ### Nested classes/interfaces inherited from class javax.swing.JComponent

      `javax.swing.JComponent.AccessibleJComponent`

    - ### Nested classes/interfaces inherited from class java.awt.Component

      `java.awt.Component.BaselineResizeBehavior`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.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 and Description
    `ClustererPanel()` Creates the clusterer panel

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and 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
    `java.lang.String` | `getTabTitle()` Returns the title for the tab in the Explorer
    `java.lang.String` | `getTabTitleToolTip()` Returns the tooltip for the tab in the Explorer
    `static void` | `main(java.lang.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, 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, getPeer, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, 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 Detail

    - #### MODEL_FILE_EXTENSION

          public static java.lang.String MODEL_FILE_EXTENSION

      The filename extension that should be used for model files

  - ### Constructor Detail

    - #### ClustererPanel

          public ClustererPanel()

      Creates the clusterer panel

  - ### Method Detail

    - #### 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 java.lang.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 java.lang.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(java.lang.String[] args)

      Tests out the clusterer panel from the command line.
      Parameters:
        `args` - may optionally contain the name of a dataset to load.