Package weka.gui

Class CostMatrixEditor

java.lang.Object
weka.gui.CostMatrixEditor
All Implemented Interfaces:
PropertyEditor

public class CostMatrixEditor extends Object implements PropertyEditor
Class for editing CostMatrix objects. Brings up a custom editing panel with which the user can edit the matrix interactively, as well as save load cost matrices from files.
Version:
$Revision: 15104 $
Author:
Richard Kirkby (rkirkby@cs.waikato.ac.nz)
  • Constructor Details

    • CostMatrixEditor

      public CostMatrixEditor()
      Constructs a new CostMatrixEditor.
  • Method Details

    • setValue

      public void setValue(Object value)
      Sets the value of the CostMatrix to be edited.
      Specified by:
      setValue in interface PropertyEditor
      Parameters:
      value - a CostMatrix object to be edited
    • getValue

      public Object getValue()
      Gets the cost matrix that is being edited.
      Specified by:
      getValue in interface PropertyEditor
      Returns:
      the edited CostMatrix object
    • isPaintable

      public boolean isPaintable()
      Indicates whether the object can be represented graphically. In this case it can.
      Specified by:
      isPaintable in interface PropertyEditor
      Returns:
      true
    • paintValue

      public void paintValue(Graphics gfx, Rectangle box)
      Paints a graphical representation of the object. For the cost matrix it prints out the text "X x X matrix", where X is the size of the matrix.
      Specified by:
      paintValue in interface PropertyEditor
      Parameters:
      gfx - the graphics context to draw the representation to
      box - the bounds within which the representation should fit.
    • getJavaInitializationString

      public String getJavaInitializationString()
      Returns the Java code that generates an object the same as the one being edited. Unfortunately this can't be done in a single line of code, so the code returned will only build a default cost matrix of the same size.
      Specified by:
      getJavaInitializationString in interface PropertyEditor
      Returns:
      the initialization string
    • getAsText

      public String getAsText()
      Some objects can be represented as text, but a cost matrix cannot.
      Specified by:
      getAsText in interface PropertyEditor
      Returns:
      null
    • setAsText

      public void setAsText(String text)
      Some objects can be represented as text, but a cost matrix cannot.
      Specified by:
      setAsText in interface PropertyEditor
      Parameters:
      text - ignored
      Throws:
      IllegalArgumentException - always throws an IllegalArgumentException
    • getTags

      public String[] getTags()
      Some objects can return tags, but a cost matrix cannot.
      Specified by:
      getTags in interface PropertyEditor
      Returns:
      null
    • getCustomEditor

      public Component getCustomEditor()
      Gets a GUI component with which the user can edit the cost matrix.
      Specified by:
      getCustomEditor in interface PropertyEditor
      Returns:
      an editor GUI component
    • supportsCustomEditor

      public boolean supportsCustomEditor()
      Indicates whether the cost matrix can be edited in a GUI, which it can.
      Specified by:
      supportsCustomEditor in interface PropertyEditor
      Returns:
      true
    • addPropertyChangeListener

      public void addPropertyChangeListener(PropertyChangeListener listener)
      Adds an object to the list of those that wish to be informed when the cost matrix changes.
      Specified by:
      addPropertyChangeListener in interface PropertyEditor
      Parameters:
      listener - a new listener to add to the list
    • removePropertyChangeListener

      public void removePropertyChangeListener(PropertyChangeListener listener)
      Removes an object from the list of those that wish to be informed when the cost matrix changes.
      Specified by:
      removePropertyChangeListener in interface PropertyEditor
      Parameters:
      listener - the listener to remove from the list