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:
javax.accessibility.Accessible, java.awt.event.ActionListener, java.util.EventListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public class UMLAddDialog
extends javax.swing.JPanel
implements java.awt.event.ActionListener

UMLAddDialog allows the user to do a multiple select from a list of choices in a seperate 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.

$Id: UMLAddDialog.java,v 1.7 2003/06/29 23:50:03 linus Exp $

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  javax.swing.JButton _addButton
           
protected  javax.swing.JButton _cancelButton
           
protected  java.util.Vector _choices
          The choices a user has
protected  javax.swing.JList _choicesList
          The GUI list for the choices
protected  javax.swing.JDialog _dialog
           
protected  javax.swing.JButton _okButton
           
protected  java.util.Vector _preSelected
          The preselected choices
protected  javax.swing.JButton _removeButton
           
protected  int _returnValue
          The returnvalue of the method showDialog.
protected  java.util.Vector _selected
          The selected choices.
protected  javax.swing.JList _selectedList
          The GUI list for the selected choices
protected  java.lang.String _title
           
 
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 java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
UMLAddDialog(java.util.Vector choices, java.util.Vector selected, java.lang.String title, boolean multiselectAllowed, boolean exclusive)
          Constructs a UMLAddDialog with a UMLListCellRenderer.
UMLAddDialog(java.util.Vector choices, java.util.Vector selected, java.lang.String title, javax.swing.ListCellRenderer renderer, boolean multiselectAllowed, boolean exclusive)
          Constructs a UMLAddDialog with a given UMLListCellRenderer.
 
Method Summary
 void actionPerformed(java.awt.event.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  javax.swing.DefaultListModel constructListModel(java.util.Vector vec)
          Utility method to construct a DefaultListModel from a Vector
 java.util.Vector getChoices()
          Returns the choices a user can make.
 java.util.Vector getSelected()
          Returns the by the user selected elements.
 java.util.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(java.awt.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

protected java.util.Vector _choices
The choices a user has


_preSelected

protected java.util.Vector _preSelected
The preselected choices


_selected

protected java.util.Vector _selected
The selected choices.


_choicesList

protected javax.swing.JList _choicesList
The GUI list for the choices


_selectedList

protected javax.swing.JList _selectedList
The GUI list for the selected choices


_addButton

protected javax.swing.JButton _addButton

_removeButton

protected javax.swing.JButton _removeButton

_okButton

protected javax.swing.JButton _okButton

_cancelButton

protected javax.swing.JButton _cancelButton

_dialog

protected javax.swing.JDialog _dialog

_title

protected java.lang.String _title

_returnValue

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

Constructor Detail

UMLAddDialog

public UMLAddDialog(java.util.Vector choices,
                    java.util.Vector selected,
                    java.lang.String title,
                    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:
choices - A vector with the choices a user has.
selected - A vector with allready preselected choices
title - 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(java.util.Vector choices,
                    java.util.Vector selected,
                    java.lang.String title,
                    javax.swing.ListCellRenderer renderer,
                    boolean multiselectAllowed,
                    boolean exclusive)
Constructs a UMLAddDialog with a given UMLListCellRenderer.

Parameters:
choices - A vector with the choices a user has.
selected - A vector with allready preselected choices
title - 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(java.awt.event.ActionEvent e)
Specified by:
actionPerformed in interface java.awt.event.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 javax.swing.DefaultListModel constructListModel(java.util.Vector vec)
Utility method to construct a DefaultListModel from a Vector

Parameters:
vec -
Returns:
DefaultListModel

showDialog

public int showDialog(java.awt.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 java.util.Vector getChoices()
Returns the choices a user can make.

Returns:
Vector

getSelectedChoices

public java.util.Vector getSelectedChoices()
Returns the selected elements in the selected list

Returns:
Vector

getSelected

public java.util.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-2003 (20040125)ArgoUML Project HomeArgoUML Cookbook