weka.gui.ensembleLibraryEditor.tree
Class GenericObjectNodeEditor

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

public class GenericObjectNodeEditor
extends javax.swing.JPanel
implements java.beans.PropertyChangeListener, java.awt.event.ActionListener, javax.swing.event.PopupMenuListener

This class creates a simple user interface for selecting the Generic Object Type. It consists of a button that brings up a popupMenu allowing the user to select the type of Generic Object to be edited. It also contains a JLabel that just prints out the type. Finally, we also added the button from the PropertySheetPanel that brings up more info about the Object

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
GenericObjectNodeEditor(GenericObjectNode node)
          The constructor builds initializes the various member values from the node
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
          This implements the action listener for the buttons in this editor, If they hit the choose class button then the popup menu for choosing the generic object ype is created.
 void popupMenuCanceled(javax.swing.event.PopupMenuEvent e)
          in the case that the popup menu is cancelled we need to manually inform the ModelTreeNodeEditor that we are done editing.
 void popupMenuWillBecomeInvisible(javax.swing.event.PopupMenuEvent e)
          Necessary for popup listener interface.
 void popupMenuWillBecomeVisible(javax.swing.event.PopupMenuEvent e)
          Necessary for popup listener interface.
 void propertyChange(java.beans.PropertyChangeEvent evt)
          This method implements the property change listener for this node.
 void setPropertyChangeListener(java.beans.PropertyChangeListener al)
          Sets the prop change listener
 void updateEditor()
          This method updates the editor by creating the two buttons and the JPanel that constiture the generic object editor GUI.
 
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, 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, transferFocusBackward, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

GenericObjectNodeEditor

public GenericObjectNodeEditor(GenericObjectNode node)
The constructor builds initializes the various member values from the node

Parameters:
node - the node to base the node editor on
Method Detail

updateEditor

public void updateEditor()
This method updates the editor by creating the two buttons and the JPanel that constiture the generic object editor GUI.


setPropertyChangeListener

public void setPropertyChangeListener(java.beans.PropertyChangeListener al)
Sets the prop change listener

Parameters:
al - the listener

propertyChange

public void propertyChange(java.beans.PropertyChangeEvent evt)
This method implements the property change listener for this node. When this happens, we just need to update the node value

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

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
This implements the action listener for the buttons in this editor, If they hit the choose class button then the popup menu for choosing the generic object ype is created. Otherwise if its the more info button then the information frame is popped up

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

popupMenuCanceled

public void popupMenuCanceled(javax.swing.event.PopupMenuEvent e)
in the case that the popup menu is cancelled we need to manually inform the ModelTreeNodeEditor that we are done editing. If we don't then we get stuck in a strange limbo state where the node represented by this editor is completely frozen and the user can't interact with it.

Specified by:
popupMenuCanceled in interface javax.swing.event.PopupMenuListener
Parameters:
e - the event

popupMenuWillBecomeInvisible

public void popupMenuWillBecomeInvisible(javax.swing.event.PopupMenuEvent e)
Necessary for popup listener interface. Does nothing.

Specified by:
popupMenuWillBecomeInvisible in interface javax.swing.event.PopupMenuListener
Parameters:
e - the event

popupMenuWillBecomeVisible

public void popupMenuWillBecomeVisible(javax.swing.event.PopupMenuEvent e)
Necessary for popup listener interface. Does nothing.

Specified by:
popupMenuWillBecomeVisible in interface javax.swing.event.PopupMenuListener
Parameters:
e - the event