weka.gui
Class GenericArrayEditor

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by weka.gui.GenericArrayEditor
All Implemented Interfaces:
ImageObserver, MenuContainer, PropertyEditor, Serializable, Accessible

public class GenericArrayEditor
extends JPanel
implements PropertyEditor

A PropertyEditor for arrays of objects that themselves have property editors.

Version:
$Revision: 8034 $
Author:
Len Trigg (trigg@cs.waikato.ac.nz)
See Also:
Serialized Form

Nested Class Summary
 
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 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
GenericArrayEditor()
          Sets up the array editor.
 
Method Summary
 void addPropertyChangeListener(PropertyChangeListener l)
          Adds a PropertyChangeListener who will be notified of value changes.
 String getAsText()
          Returns null as we don't support getting/setting values as text.
 Component getCustomEditor()
          Returns the array editing component.
 String getJavaInitializationString()
          Supposedly returns an initialization string to create a classifier identical to the current one, including it's state, but this doesn't appear possible given that the initialization string isn't supposed to contain multiple statements.
 String[] getTags()
          Returns null as we don't support getting values as tags.
 Object getValue()
          Gets the current object array.
 boolean isPaintable()
          Returns true to indicate that we can paint a representation of the string array.
static void main(String[] args)
          Tests out the array editor from the command line.
static Object makeCopy(Object source)
          Makes a copy of an object using serialization.
 void paintValue(Graphics gfx, Rectangle box)
          Paints a representation of the current classifier.
 void removePropertyChangeListener(PropertyChangeListener l)
          Removes a PropertyChangeListener.
 void setAsText(String text)
          Returns null as we don't support getting/setting values as text.
 void setValue(Object o)
          Sets the current object array.
 boolean supportsCustomEditor()
          Returns true because we do support a custom editor.
 
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, 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, 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, transferFocusBackward, 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, hide, 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, 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
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

GenericArrayEditor

public GenericArrayEditor()
Sets up the array editor.

Method Detail

setValue

public void setValue(Object o)
Sets the current object array.

Specified by:
setValue in interface PropertyEditor
Parameters:
o - an object that must be an array.

getValue

public Object getValue()
Gets the current object array.

Specified by:
getValue in interface PropertyEditor
Returns:
the current object array

getJavaInitializationString

public String getJavaInitializationString()
Supposedly returns an initialization string to create a classifier identical to the current one, including it's state, but this doesn't appear possible given that the initialization string isn't supposed to contain multiple statements.

Specified by:
getJavaInitializationString in interface PropertyEditor
Returns:
the java source code initialisation string

isPaintable

public boolean isPaintable()
Returns true to indicate that we can paint a representation of the string array.

Specified by:
isPaintable in interface PropertyEditor
Returns:
true

paintValue

public void paintValue(Graphics gfx,
                       Rectangle box)
Paints a representation of the current classifier.

Specified by:
paintValue in interface PropertyEditor
Parameters:
gfx - the graphics context to use
box - the area we are allowed to paint into

getAsText

public String getAsText()
Returns null as we don't support getting/setting values as text.

Specified by:
getAsText in interface PropertyEditor
Returns:
null

setAsText

public void setAsText(String text)
Returns null as we don't support getting/setting values as text.

Specified by:
setAsText in interface PropertyEditor
Parameters:
text - the text value
Throws:
IllegalArgumentException - as we don't support getting/setting values as text.

getTags

public String[] getTags()
Returns null as we don't support getting values as tags.

Specified by:
getTags in interface PropertyEditor
Returns:
null

supportsCustomEditor

public boolean supportsCustomEditor()
Returns true because we do support a custom editor.

Specified by:
supportsCustomEditor in interface PropertyEditor
Returns:
true

getCustomEditor

public Component getCustomEditor()
Returns the array editing component.

Specified by:
getCustomEditor in interface PropertyEditor
Returns:
a value of type 'java.awt.Component'

addPropertyChangeListener

public void addPropertyChangeListener(PropertyChangeListener l)
Adds a PropertyChangeListener who will be notified of value changes.

Specified by:
addPropertyChangeListener in interface PropertyEditor
Overrides:
addPropertyChangeListener in class Container
Parameters:
l - a value of type 'PropertyChangeListener'

removePropertyChangeListener

public void removePropertyChangeListener(PropertyChangeListener l)
Removes a PropertyChangeListener.

Specified by:
removePropertyChangeListener in interface PropertyEditor
Overrides:
removePropertyChangeListener in class Component
Parameters:
l - a value of type 'PropertyChangeListener'

makeCopy

public static Object makeCopy(Object source)
Makes a copy of an object using serialization.

Parameters:
source - the object to copy
Returns:
a copy of the source object, null if copying fails

main

public static void main(String[] args)
Tests out the array editor from the command line.

Parameters:
args - ignored


Copyright © 2012 University of Waikato, Hamilton, NZ. All Rights Reserved.