weka.gui.ensembleLibraryEditor.tree
Class NumberNodeEditor

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.ensembleLibraryEditor.tree.NumberNodeEditor
All Implemented Interfaces:
java.awt.event.ActionListener, java.awt.event.ItemListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.beans.PropertyChangeListener, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible

public class NumberNodeEditor
extends javax.swing.JPanel
implements java.awt.event.ActionListener, java.awt.event.ItemListener, java.beans.PropertyChangeListener

This class is responsible for creating the number editor GUI to allow users to specify ranges of numerical values.

Version:
$Revision: 1.1 $
Author:
Robert Jung (mrbobjung@gmail.com)
See Also:
Serialized Form

Nested Class Summary
 
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 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
NumberNodeEditor(NumberNode node)
          The constructor builds a user interface based on the information queried from the node passed in.
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
          This is the actionListener that while handle events from the JButton that specifies the type of iterator.
 void itemStateChanged(java.awt.event.ItemEvent e)
          This is the Listener that while handle events from the checkBox ,if this node has one.
 void propertyChange(java.beans.PropertyChangeEvent evt)
          This is the Listener that while handle events from the text box for this node.
 void setActionListener(java.awt.event.ActionListener actionListener)
          This method provides a way for the ModelTreeNodeEditor to register an actionListener with this editor.
 void setItemListener(java.awt.event.ItemListener itemListener)
          This method provides a way for the ModelTreeNodeEditor to register an itemListener with this editor.
 void setPropertyChangeListener(java.beans.PropertyChangeListener propertyChangeListener)
          This method provides a way for the ModelTreeNodeEditor to register a PropertyListener with this 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, 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, 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

NumberNodeEditor

public NumberNodeEditor(NumberNode node)
The constructor builds a user interface based on the information queried from the node passed in. Specifically the iteratorType, whether the node is checkable, whether it is currently selected, it's current value, and the name to print on the label.

Parameters:
node - the node the editor is for
Method Detail

setActionListener

public void setActionListener(java.awt.event.ActionListener actionListener)
This method provides a way for the ModelTreeNodeEditor to register an actionListener with this editor. This way, after the user has done something, the tree can update its editing state as well as the tree node structure as necessary

Parameters:
actionListener - the listener to use

setItemListener

public void setItemListener(java.awt.event.ItemListener itemListener)
This method provides a way for the ModelTreeNodeEditor to register an itemListener with this editor. This way, after the user has done something, the tree can update its editing state as well as the tree node structure as necessary

Parameters:
itemListener - the listener to use

setPropertyChangeListener

public void setPropertyChangeListener(java.beans.PropertyChangeListener propertyChangeListener)
This method provides a way for the ModelTreeNodeEditor to register a PropertyListener with this editor. This way, after the user has done something, the tree can update its editing state as well as the tree node structure as necessary

Parameters:
propertyChangeListener - the listener to use

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
This is the actionListener that while handle events from the JButton that specifies the type of iterator. It simply updates both the label string for the button and the iteratorType of the NumberNode

Specified by:
actionPerformed in interface java.awt.event.ActionListener
Parameters:
e - the event

itemStateChanged

public void itemStateChanged(java.awt.event.ItemEvent e)
This is the Listener that while handle events from the checkBox ,if this node has one. Note that before we can select or deselect this node we have to ask permission from this node's parent. (wow, what fitting terminology). Anyway, the reason is that we cannot have an iterator node selected if there is no max node selected - conversely we cannot have a max node be deselected if the iterator node is selected.

Specified by:
itemStateChanged in interface java.awt.event.ItemListener
Parameters:
e - the event

propertyChange

public void propertyChange(java.beans.PropertyChangeEvent evt)
This is the Listener that while handle events from the text box for this node. It basically grabs the value from the text field and then casts it to the correct type and sets the value of the node.

Specified by:
propertyChange in interface java.beans.PropertyChangeListener
Parameters:
evt - the event