org.argouml.uml.ui
Class UMLAddDialog

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JPanel
                  extended byorg.argouml.uml.ui.UMLAddDialog
All Implemented Interfaces:
Accessible, ActionListener, EventListener, ImageObserver, MenuContainer, Serializable

public class UMLAddDialog
extends JPanel
implements ActionListener

UMLAddDialog allows the user to do a multiple select from a list of choices in a separate dialog. The dialog has two possible uses:

  1. As dialog as described above with a custom cellrenderer or a default cellrenderer.
  2. As dialog with a UMLCellRenderer. Cells in the choices list and selected list are presented with their name instead of their toString function.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
Nested classes inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
private  JButton addButton
           
private  JButton cancelButton
           
private  Vector choices
          The choices a user has
private  JList choicesList
          The GUI list for the choices
private  JDialog dialog
           
private  JButton okButton
           
private  Vector preSelected
          The preselected choices
private  JButton removeButton
           
private  int returnValue
          The returnvalue of the method showDialog.
private  Vector selected
          The selected choices.
private  JList selectedList
          The GUI list for the selected choices
private  String title
           
 
Fields inherited from class javax.swing.JPanel
 
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.Container
 
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
UMLAddDialog(Vector theChoices, Vector preselected, String theTitle, boolean multiselectAllowed, boolean exclusive)
          Constructs a UMLAddDialog with a UMLListCellRenderer.
UMLAddDialog(Vector theChoices, Vector preselected, String theTitle, ListCellRenderer renderer, boolean multiselectAllowed, boolean exclusive)
          Constructs a UMLAddDialog with a given UMLListCellRenderer.
 
Method Summary
 void actionPerformed(ActionEvent e)
           
 void addSelection()
          Adds the selected elements in the choices list to the selected list.
 void cancel()
          Called when the cancel button is pressed.
protected  DefaultListModel constructListModel(Vector vec)
          Utility method to construct a DefaultListModel from a Vector
 Vector getChoices()
          Returns the choices a user can make.
 Vector getSelected()
          Returns the by the user selected elements.
 Vector getSelectedChoices()
          Returns the selected elements in the selected list
 void ok()
          Called when the okbutton is pressed.
 void removeSelection()
          Removes the selected elements in the selected list and adds them to the choices list.
 int showDialog(Component parent)
          Shows the dialog.
 void update()
          Updates the add and remove button (sets enabled/disabled).
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
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, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, 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
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

choices

private Vector choices
The choices a user has


preSelected

private Vector preSelected
The preselected choices


selected

private Vector selected
The selected choices.


choicesList

private JList choicesList
The GUI list for the choices


selectedList

private JList selectedList
The GUI list for the selected choices


addButton

private JButton addButton

removeButton

private JButton removeButton

okButton

private JButton okButton

cancelButton

private JButton cancelButton

dialog

private JDialog dialog

title

private String title

returnValue

private int returnValue
The returnvalue of the method showDialog. Returnvalue can be either JOptionPane.OK_OPTION or JOptionPane.CANCEL_OPTION

Constructor Detail

UMLAddDialog

public UMLAddDialog(Vector theChoices,
                    Vector preselected,
                    String theTitle,
                    boolean multiselectAllowed,
                    boolean exclusive)
Constructs a UMLAddDialog with a UMLListCellRenderer. Modelelements are represented with their names in the choices list and the selected list.

Parameters:
theChoices - A vector with the choices a user has.
preselected - A vector with already preselected choices
theTitle - The title of the dialog
multiselectAllowed - True if the user may select multiple choices
exclusive - True if choices in the selected list may not appear in the choices list. If true preselected choices are removed from the choices list.

UMLAddDialog

public UMLAddDialog(Vector theChoices,
                    Vector preselected,
                    String theTitle,
                    ListCellRenderer renderer,
                    boolean multiselectAllowed,
                    boolean exclusive)
Constructs a UMLAddDialog with a given UMLListCellRenderer.

Parameters:
theChoices - A vector with the choices a user has.
preselected - A vector with already preselected choices
theTitle - The title of the dialog
renderer - The cellrenderer of the choices list and the selected list
multiselectAllowed - True if the user may select multiple choices
exclusive - True if choices in the selected list may not appear in the choices list. If true preselected choices are removed from the choices list.
Method Detail

actionPerformed

public void actionPerformed(ActionEvent e)
Specified by:
actionPerformed in interface ActionListener
See Also:
ActionListener.actionPerformed(ActionEvent)

update

public void update()
Updates the add and remove button (sets enabled/disabled). Called whenever the model is changed.


constructListModel

protected DefaultListModel constructListModel(Vector vec)
Utility method to construct a DefaultListModel from a Vector

Parameters:
vec - the given list
Returns:
DefaultListModel

showDialog

public int showDialog(Component parent)
Shows the dialog. First a dialog must be constructed using one of the constructors of this class. After that this method should be called to actually show the dialog. This method returns either JOptionPane.OK_OPTION if the user wants to select his choices or JOptionPane.CANCEL_OPTION if he does not want to.

Parameters:
parent - The parent frame of this dialog.
Returns:
int The returnvalue, can be either JOptionPane.OK_OPTION or JOptionPane.CANCEL_OPTION

getChoices

public Vector getChoices()
Returns the choices a user can make.

Returns:
Vector

getSelectedChoices

public Vector getSelectedChoices()
Returns the selected elements in the selected list

Returns:
Vector

getSelected

public Vector getSelected()
Returns the by the user selected elements. This method should be called if the selected choices are to be known.

Returns:
Vector

addSelection

public void addSelection()
Adds the selected elements in the choices list to the selected list. Updates the GUI too.


removeSelection

public void removeSelection()
Removes the selected elements in the selected list and adds them to the choices list. Updates the GUI too.


ok

public void ok()
Called when the okbutton is pressed. Closes this dialog and sets the returnvalue to JOptionPane.OK_OPTION.


cancel

public void cancel()
Called when the cancel button is pressed. Closes this dialog and sets the returnvalue to JOptionPane.CANCEL_OPTION. Resets the selected list to the originally preselection if there is one. Otherwise the selected list is emptied.



ArgoUML © 1996-2004 (20050222)ArgoUML HomepageArgoUML Developers' pageArgoUML Cookbook