org.argouml.uml.ui
Class UMLTextField

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.text.JTextComponent
                          |
                          +--javax.swing.JTextField
                                |
                                +--org.argouml.uml.ui.UMLTextField
All Implemented Interfaces:
javax.accessibility.Accessible, javax.swing.event.DocumentListener, java.util.EventListener, java.awt.event.FocusListener, java.awt.image.ImageObserver, ru.novosoft.uml.MElementListener, java.awt.MenuContainer, javax.swing.Scrollable, java.io.Serializable, javax.swing.SwingConstants, UMLUserInterfaceComponent

public class UMLTextField
extends javax.swing.JTextField
implements javax.swing.event.DocumentListener, UMLUserInterfaceComponent, java.awt.event.FocusListener

This class handles the updating of text as it is typed into the text field on one of the many property panels. By catching the MElementEvent dispatched from NSUML it updates the diagram as each character is typed.

See Also:
Serialized Form

Inner classes inherited from class javax.swing.JTextField
javax.swing.JTextField.AccessibleJTextField
 
Inner classes inherited from class javax.swing.text.JTextComponent
javax.swing.text.JTextComponent.AccessibleJTextComponent, javax.swing.text.JTextComponent.KeyBinding
 
Inner classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Inner classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Inner classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent
 
Field Summary
protected  boolean _firstException
          true if it's the first exception in the handling of events, prevents exception loops and thus hanging argouml
protected  java.lang.String _oldPropertyValue
          value of property when focus is gained
protected  boolean _textChanged
          true if text has changed since last focusgained
protected  boolean _viaUserInput
          true if changed via userinput
protected static org.apache.log4j.Category cat
           
 
Fields inherited from class javax.swing.JTextField
notifyAction
 
Fields inherited from class javax.swing.text.JTextComponent
DEFAULT_KEYMAP, FOCUS_ACCELERATOR_KEY
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, 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 javax.swing.SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NORTH, NORTH_EAST, NORTH_WEST, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
UMLTextField(UMLUserInterfaceContainer container, UMLTextProperty property)
          Creates new BooleanChangeListener
 
Method Summary
 void changedUpdate(javax.swing.event.DocumentEvent p1)
           
 void focusGained(java.awt.event.FocusEvent arg0)
           
 void focusLost(java.awt.event.FocusEvent arg0)
           
protected  void handleEvent()
           
 void insertUpdate(javax.swing.event.DocumentEvent p1)
           
 void listRoleItemSet(ru.novosoft.uml.MElementEvent p1)
           
 void propertySet(ru.novosoft.uml.MElementEvent event)
           
 void recovered(ru.novosoft.uml.MElementEvent p1)
           
 void removed(ru.novosoft.uml.MElementEvent p1)
           
 void removeUpdate(javax.swing.event.DocumentEvent p1)
          Event handler for the removal of the content of the Document this textfield is managing.
 void roleAdded(ru.novosoft.uml.MElementEvent p1)
           
 void roleRemoved(ru.novosoft.uml.MElementEvent p1)
           
protected  void showException(java.lang.Exception ex)
           
 void targetChanged()
          Called when an UMLTextField is left.
 void targetReasserted()
          This method is called when the navigation history has been changed (and navigation buttons may need to be updated). targetChanged implies navigationHistoryChanged, so this method will not be called after a targetChange.
 
Methods inherited from class javax.swing.JTextField
addActionListener, configurePropertiesFromAction, createActionPropertyChangeListener, createDefaultModel, fireActionPerformed, getAccessibleContext, getAction, getActions, getColumns, getColumnWidth, getHorizontalAlignment, getHorizontalVisibility, getPreferredSize, getScrollOffset, getUIClassID, isValidateRoot, paramString, postActionEvent, removeActionListener, scrollRectToVisible, setAction, setActionCommand, setColumns, setFont, setHorizontalAlignment, setScrollOffset
 
Methods inherited from class javax.swing.text.JTextComponent
addCaretListener, addInputMethodListener, addKeymap, copy, cut, fireCaretUpdate, getCaret, getCaretColor, getCaretPosition, getDisabledTextColor, getDocument, getFocusAccelerator, getHighlighter, getInputMethodRequests, getKeymap, getKeymap, getMargin, getPreferredScrollableViewportSize, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getSelectedText, getSelectedTextColor, getSelectionColor, getSelectionEnd, getSelectionStart, getText, getText, getUI, isEditable, isFocusTraversable, loadKeymap, modelToView, moveCaretPosition, paste, processInputMethodEvent, read, removeCaretListener, removeKeymap, removeNotify, replaceSelection, select, selectAll, setCaret, setCaretColor, setCaretPosition, setDisabledTextColor, setDocument, setEditable, setFocusAccelerator, setHighlighter, setKeymap, setMargin, setSelectedTextColor, setSelectionColor, setSelectionEnd, setSelectionStart, setText, setUI, updateUI, viewToModel, write
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getVerifyInputWhenFocusTarget, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, hide, isDoubleBuffered, isFocusCycleRoot, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processFocusEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDoubleBuffered, setEnabled, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getLayout, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setLayout, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addKeyListener, addMouseListener, addMouseMotionListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getInputContext, getLocale, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, imageUpdate, inside, isDisplayable, isEnabled, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processHierarchyBoundsEvent, processHierarchyEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

cat

protected static final org.apache.log4j.Category cat

_oldPropertyValue

protected java.lang.String _oldPropertyValue
value of property when focus is gained

_textChanged

protected boolean _textChanged
true if text has changed since last focusgained

_viaUserInput

protected boolean _viaUserInput
true if changed via userinput

_firstException

protected boolean _firstException
true if it's the first exception in the handling of events, prevents exception loops and thus hanging argouml
Constructor Detail

UMLTextField

public UMLTextField(UMLUserInterfaceContainer container,
                    UMLTextProperty property)
Creates new BooleanChangeListener
Method Detail

targetChanged

public void targetChanged()
Called when an UMLTextField is left.
Specified by:
targetChanged in interface UMLUserInterfaceComponent
See Also:
UMLUserInterfaceComponent.targetChanged()

targetReasserted

public void targetReasserted()
Description copied from interface: UMLUserInterfaceComponent
This method is called when the navigation history has been changed (and navigation buttons may need to be updated). targetChanged implies navigationHistoryChanged, so this method will not be called after a targetChange.
Specified by:
targetReasserted in interface UMLUserInterfaceComponent

roleAdded

public void roleAdded(ru.novosoft.uml.MElementEvent p1)
Specified by:
roleAdded in interface ru.novosoft.uml.MElementListener

recovered

public void recovered(ru.novosoft.uml.MElementEvent p1)
Specified by:
recovered in interface ru.novosoft.uml.MElementListener

roleRemoved

public void roleRemoved(ru.novosoft.uml.MElementEvent p1)
Specified by:
roleRemoved in interface ru.novosoft.uml.MElementListener

listRoleItemSet

public void listRoleItemSet(ru.novosoft.uml.MElementEvent p1)
Specified by:
listRoleItemSet in interface ru.novosoft.uml.MElementListener

removed

public void removed(ru.novosoft.uml.MElementEvent p1)
Specified by:
removed in interface ru.novosoft.uml.MElementListener

propertySet

public void propertySet(ru.novosoft.uml.MElementEvent event)
Specified by:
propertySet in interface ru.novosoft.uml.MElementListener

changedUpdate

public void changedUpdate(javax.swing.event.DocumentEvent p1)
Specified by:
changedUpdate in interface javax.swing.event.DocumentListener

removeUpdate

public void removeUpdate(javax.swing.event.DocumentEvent p1)
Event handler for the removal of the content of the Document this textfield is managing.
Specified by:
removeUpdate in interface javax.swing.event.DocumentListener
See Also:
DocumentListener.removeUpdate(DocumentEvent)

insertUpdate

public void insertUpdate(javax.swing.event.DocumentEvent p1)
Specified by:
insertUpdate in interface javax.swing.event.DocumentListener

handleEvent

protected void handleEvent()

focusGained

public void focusGained(java.awt.event.FocusEvent arg0)
Specified by:
focusGained in interface java.awt.event.FocusListener
See Also:
FocusListener.focusGained(FocusEvent)

focusLost

public void focusLost(java.awt.event.FocusEvent arg0)
Specified by:
focusLost in interface java.awt.event.FocusListener
See Also:
FocusListener.focusLost(FocusEvent)

showException

protected void showException(java.lang.Exception ex)


ArgoUML (c) 1996-2002
ArgoUML Project Home
ArgoUML Cookbook