JIDE 3.5.15

com.jidesoft.list
Class DualList

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 com.jidesoft.swing.JideSplitPane
                      extended by com.jidesoft.list.DualList
All Implemented Interfaces:
ComponentListener, ContainerListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible

public class DualList
extends JideSplitPane

DualList is a pane that contains two JLists and a bunch of buttons. The list on the left contains all the items. The list on the right contains the items that are selected.

DualList uses DualListModel which is the model of this component. With the help of DualListModel, it provides three kinds of selection modes. This mode controls what to display in the right list when items are selected. DualListModel.REMOVE_SELECTION mode means the left list will remove the items if they are selected to the right list. This mode can prevent user from selecting the selected item again if it is not allowed in certain cases. DualListModel.DISABLE_SELECTION mode means the selected items will be shown as disabled. User cannot select them anymore but they can still see them in the right list to show user a complete unchanged list. DualListModel.KEEP_SELECTION mode will not change the right list at all when items are selected. This is the only mode which can result duplicated items to be selected. If that's what you want in your situation, this mode is the one you should use. You could disable the duplicate selection option by invoking {link #setAllowDuplicates(false)}.

DualList extends JideSplitPane, which makes users conveniently resize the width of either list.

See Also:
DualListModel, AbstractDualListModel, DefaultDualListModel, Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class com.jidesoft.swing.JideSplitPane
JideSplitPane.AccessibleJideSplitPane
 
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
protected  DualListModel _model
           
protected  DefaultListModelWrapper _originalListModel
           
 JComponent _originalListPane
           
protected  DefaultListModelWrapper _selectedListModel
           
 JComponent _selectedListPane
           
 String CLIENT_PROPERTY_ALWAYS_DISABLED
           
static String COMMAND_MOVE_ALL_LEFT
           
static String COMMAND_MOVE_ALL_RIGHT
           
static String COMMAND_MOVE_DOWN
           
static String COMMAND_MOVE_LEFT
           
static String COMMAND_MOVE_RIGHT
           
static String COMMAND_MOVE_TO_BOTTOM
           
static String COMMAND_MOVE_TO_TOP
           
static String COMMAND_MOVE_UP
           
 
Fields inherited from class com.jidesoft.swing.JideSplitPane
_windowDeactivatedListener, CONTINUOUS_LAYOUT_PROPERTY, DIVIDER_SIZE_PROPERTY, GRIPPER_PROPERTY, HORIZONTAL_SPLIT, NON_CONTINUOUS_DIVIDER, ONE_TOUCH_EXPANDABLE_PROPERTY, ORIENTATION_PROPERTY, PROPERTY_DIVIDER_LOCATION, PROPERTY_HEAVYWEIGHT_COMPONENT_ENABLED, PROPORTIONAL_LAYOUT_PROPERTY, PROPORTIONS_PROPERTY, VERTICAL_SPLIT
 
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
DualList()
          Constructs a JList with an empty _model.
DualList(DualListModel model)
          Constructs a DualList that displays the elements in the specified, non-null model.
DualList(List<?> listData)
          Constructs a DualList that displays the elements in the specified List.
DualList(Object[] listData)
          Constructs a JList that displays the elements in the specified array.
 
Method Summary
protected  void addButtonPanel(Container container, Component buttonPanel)
          Adds ButtonPanel to DualList.
 void addSelectionInteval(int index0, int index1)
          Change the selection to be the set union of the current selection and the indices between index0 and index1 inclusive.
 void clearSelection()
          Removes all the selections.
protected  AbstractButton createButton(Action action)
          Creates the button.
protected  Container createButtonPanel()
           
protected  JList createList(ListModel model, boolean originalList)
          Creates the JList.
 ListCellRenderer getCellRenderer()
          Gets the list cell renderer for the left list.
 ListCellRenderer getDisabledCellRenderer()
          Returns the disabled cell renderer.
 DualListModel getModel()
          Gets the DualListModel.
 JList getOriginalList()
          Get the original JList.
 JComponent getOriginalListPane()
          Gets the component containing the original JList.
 Dimension getPreferredSize()
           
protected  String getResourceString(String key)
          Gets the localized string from resource bundle.
 ListCellRenderer getSelectedCellRenderer()
          Gets the list cell renderer for the right list.
 int[] getSelectedIndices()
          Gets the selected indices.
 JList getSelectedList()
          Get the selected JList.
 JComponent getSelectedListPane()
          Gets the component containing the selected JList.
 Object[] getSelectedValues()
          Gets the selected values from the DualList.
 int getSelectionMode()
          Gets the selection mode from DualListModel.
 int[] getUnselectedIndices()
           
 Object[] getUnselectedValues()
          Returns the values that are not selected in DaulList
 int getVisibleRowCount()
          Returns the value of the visibleRowCount from the list.
protected  void installKeyboardAction()
          Registered keyboard actions for the original and selected lists.
 boolean isAllowDuplicates()
          Get the flag if duplicate selection is allowed in the DualList.
 boolean isButtonEnabled(String command)
          Checks if the button is always disabled.
 boolean isButtonPanelVisible()
          Deprecated. Replaced by isMiddleButtonPanelVisible()
 boolean isButtonVisible(String command)
          Checks if the button is visible.
 boolean isDoubleClickEnabled()
          Gets the flag indicating if double click to select is enabled.
 boolean isMiddleButtonPanelVisible()
          Get the visibility of the middle button panel.
 boolean isRightButtonPanelVisible()
          Get the visibility of the right button panel.
 boolean isSelectedIndex(int index)
          Checks if the index is selected.
 boolean isSelectionEmpty()
          Checks if there is any selection.
 void moveAllLeft()
          Moves all items from the right list to the left list.
 void moveAllRight()
          Moves all items from the left list to the right list.
 void moveDown()
          Moves the selected items in the right list down by one.
 void moveLeft()
          Moves the selected items in the right list to the left list.
 void moveRight()
          Moves the selected items in the left list to the right list.
 void moveToBottom()
          Moves the selected items in the right list to the bottom.
 void moveToTop()
          Moves the selected items in the right list to the top.
 void moveUp()
          Moves the selected items in the right list up by one.
protected  void performAction(String command)
          Performs the action.
 void removeSelectionInteval(int index0, int index1)
          Change the selection to be the set difference of the current selection and the indices between index0 and index1 inclusive.
 void setAllowDuplicates(boolean allowDuplicates)
          Set the flag if duplicate selection is allowed in the DualList.
 void setButtonEnabled(String command, boolean enabled)
          Sets the button to always disabled.
 void setButtonPanelVisible(boolean buttonPanelVisible)
          Deprecated. Replaced by setMiddleButtonPanelVisible(boolean)
 void setButtonVisible(String command, boolean visible)
          Sets the button visible or invisible.
 void setCellRenderer(ListCellRenderer cellRenderer)
          Sets the list cell renderer for the list on the left.
 void setDisabledCellRenderer(ListCellRenderer disabledCellRenderer)
          Sets the disabled cell renderer.
 void setDoubleClickEnabled(boolean doubleClickEnabled)
          Sets the flag indicating if double click to select is enabled.
 void setEnabled(boolean enabled)
           
 void setMiddleButtonPanelVisible(boolean middleButtonPanelVisible)
          Set the visibility of the middle button panel.
 void setModel(DualListModel model)
          Sets the DualListModel.
 void setRightButtonPanelVisible(boolean middleButtonPanelVisible)
          Set the visibility of the right button panel.
 void setSelectedCellRenderer(ListCellRenderer selectedCellRenderer)
          Sets the list cell renderer for the list on the right.
 void setSelectionMode(int selectionMode)
          Sets the selection mode to DualListModel.
protected  void setupList(JList list, boolean originalList)
          Customizes the JList.
 void setVisibleRowCount(int visibleRowCount)
          Sets the visible row count in the two lists.
 
Methods inherited from class com.jidesoft.swing.JideSplitPane
addExtraDividers, addPane, addProportion, componentAdded, componentHidden, componentMoved, componentRemoved, componentResized, componentShown, createSplitPaneDivider, doLayout, dragDividerTo, finishDraggingTo, getAccessibleContext, getDividerAt, getDividerLocation, getDividerLocations, getDividerSize, getDividerStepSize, getLeftOneTouchButtonImageIcon, getNextDividerLocation, getOrientation, getPaneAt, getPaneCount, getPreviousDividerLocation, getProportions, getRightOneTouchButtonImageIcon, indexOf, indexOfDivider, indexOfPane, insertPane, insertPane, isContinuousLayout, isDragResizable, isHeavyweightComponentEnabled, isInitiallyEven, isOneTouchExpandable, isProportionalLayout, isShowGripper, isValidateRoot, removeExtraDividers, removePane, removePane, removeProportion, resetToPreferredSizes, setContinuousLayout, setDividerLocation, setDividerLocation, setDividerLocations, setDividerSize, setDividerStepSize, setDividersVisible, setDragResizable, setHeavyweightComponentEnabled, setInitiallyEven, setLeftOneTouchButtonImageIcon, setOneTouchExpandable, setOrientation, setPaneAt, setPaneAt, setProportionalLayout, setProportions, setRightOneTouchButtonImageIcon, setShowGripper, setVisible, startDragging, updateUI
 
Methods inherited from class javax.swing.JPanel
getUI, getUIClassID, paramString, setUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, 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, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, 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, firePropertyChange, 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, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, 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
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

COMMAND_MOVE_LEFT

public static final String COMMAND_MOVE_LEFT
See Also:
Constant Field Values

COMMAND_MOVE_RIGHT

public static final String COMMAND_MOVE_RIGHT
See Also:
Constant Field Values

COMMAND_MOVE_ALL_LEFT

public static final String COMMAND_MOVE_ALL_LEFT
See Also:
Constant Field Values

COMMAND_MOVE_ALL_RIGHT

public static final String COMMAND_MOVE_ALL_RIGHT
See Also:
Constant Field Values

COMMAND_MOVE_UP

public static final String COMMAND_MOVE_UP
See Also:
Constant Field Values

COMMAND_MOVE_DOWN

public static final String COMMAND_MOVE_DOWN
See Also:
Constant Field Values

COMMAND_MOVE_TO_TOP

public static final String COMMAND_MOVE_TO_TOP
See Also:
Constant Field Values

COMMAND_MOVE_TO_BOTTOM

public static final String COMMAND_MOVE_TO_BOTTOM
See Also:
Constant Field Values

_model

protected DualListModel _model

_originalListPane

public JComponent _originalListPane

_selectedListPane

public JComponent _selectedListPane

CLIENT_PROPERTY_ALWAYS_DISABLED

public final String CLIENT_PROPERTY_ALWAYS_DISABLED
See Also:
Constant Field Values

_selectedListModel

protected DefaultListModelWrapper _selectedListModel

_originalListModel

protected DefaultListModelWrapper _originalListModel
Constructor Detail

DualList

public DualList()
Constructs a JList with an empty _model.


DualList

public DualList(Object[] listData)
Constructs a JList that displays the elements in the specified array. This constructor just delegates to the DualListModel constructor.

Parameters:
listData - the array of Objects to be loaded into the data _model

DualList

public DualList(List<?> listData)
Constructs a DualList that displays the elements in the specified List. This constructor just delegates to the DualListModel constructor.

Parameters:
listData - the List to be loaded into the data _model

DualList

public DualList(DualListModel model)
Constructs a DualList that displays the elements in the specified, non-null model. All DualList constructors delegate to this one.

Parameters:
model - the data model for this list
Throws:
NullPointerException - if model is null
Method Detail

createList

protected JList createList(ListModel model,
                           boolean originalList)
Creates the JList. By default, we will create JList and set the name to "DualList.leftList" or "DualList.rightList" depending on the parameter "left" value.

Parameters:
model - the list model
originalList - true if the JList is for the original list. False if the JList is for the selected list.
Returns:
a JList.

setupList

protected void setupList(JList list,
                         boolean originalList)
Customizes the JList.

Parameters:
list - the JList. It could be either the original JList or the selected JList.
originalList - true if the JList is for the original list. False if the JList is for the selected list.

getOriginalList

public JList getOriginalList()
Get the original JList.

Returns:
the original JList.

getSelectedList

public JList getSelectedList()
Get the selected JList.

Returns:
the selected JList.

getOriginalListPane

public JComponent getOriginalListPane()
Gets the component containing the original JList.

Returns:
the component containing the original JList.

getSelectedListPane

public JComponent getSelectedListPane()
Gets the component containing the selected JList.

Returns:
the component containing the selected JList.

addButtonPanel

protected void addButtonPanel(Container container,
                              Component buttonPanel)
Adds ButtonPanel to DualList.

Parameters:
container - the container between the two JLists.
buttonPanel - the button panel

getPreferredSize

public Dimension getPreferredSize()
Overrides:
getPreferredSize in class JComponent

createButtonPanel

protected Container createButtonPanel()

createButton

protected AbstractButton createButton(Action action)
Creates the button. Our default code is
 protected AbstractButton createButton(Action action) {
     AbstractButton button = new JideButton(action);
     action.addPropertyChangeListener(new PropertyChangeListener() {
         public void propertyChange(PropertyChangeEvent evt) {
             if ("disabledIcon".equals(evt.getPropertyName())) {
                 button.setDisabledIcon((Icon) action.getValue("disabledIcon"));
             }
         }
     });
     button.setName("" + action.getValue(Action.ACTION_COMMAND_KEY));
     button.setDisabledIcon((Icon) action.getValue("disabledIcon"));
     button.setRequestFocusEnabled(false);
     return button;
 }
 

Parameters:
action - the action for the button.
Returns:
a button.

setEnabled

public void setEnabled(boolean enabled)
Overrides:
setEnabled in class JComponent

getSelectedIndices

public int[] getSelectedIndices()
Gets the selected indices. The index in the array is the index as in the original list.

Returns:
the selected indices.
See Also:
DualListModel.getSelectedIndices()

getUnselectedIndices

public int[] getUnselectedIndices()

installKeyboardAction

protected void installKeyboardAction()
Registered keyboard actions for the original and selected lists.

By default, pressing ENTER, RIGHT arrow at LTR or LEFT arrow at RTL orientation in the original list will make the current selected item to the "selected" list. In the "selected" list, same key logic apply.

In the "selected" list, CTRL+UP/DOWN/HOME/END will move the position of current selected items inside the "selected" list. ESCAPE will clear the current selection so that new items could be inserted to the end.


getModel

public DualListModel getModel()
Gets the DualListModel.

Returns:
the DualListModel.

setModel

public void setModel(DualListModel model)
Sets the DualListModel.

Parameters:
model - a new DualListModel.

getSelectedValues

public Object[] getSelectedValues()
Gets the selected values from the DualList.

Returns:
the selected values.

getUnselectedValues

public Object[] getUnselectedValues()
Returns the values that are not selected in DaulList

Returns:
the unselected values

isSelectedIndex

public boolean isSelectedIndex(int index)
Checks if the index is selected.

Parameters:
index - the index.
Returns:
true or false.

clearSelection

public void clearSelection()
Removes all the selections.


addSelectionInteval

public void addSelectionInteval(int index0,
                                int index1)
Change the selection to be the set union of the current selection and the indices between index0 and index1 inclusive. If this represents a change to the current selection, then notify each ListSelectionListener. Note that index0 doesn't have to be less than or equal to index1.

Parameters:
index0 - one end of the interval.
index1 - other end of the interval

removeSelectionInteval

public void removeSelectionInteval(int index0,
                                   int index1)
Change the selection to be the set difference of the current selection and the indices between index0 and index1 inclusive. If this represents a change to the current selection, then notify each ListSelectionListener. Note that index0 doesn't have to be less than or equal to index1.

Parameters:
index0 - one end of the interval.
index1 - other end of the interval

isSelectionEmpty

public boolean isSelectionEmpty()
Checks if there is any selection.

Returns:
true means no selection. Otherwise false.

getSelectionMode

public int getSelectionMode()
Gets the selection mode from DualListModel.

Returns:
the selection mode.
See Also:
DualListModel.getSelectionMode()

setSelectionMode

public void setSelectionMode(int selectionMode)
Sets the selection mode to DualListModel.

Parameters:
selectionMode - the new selection mode.
See Also:
DualListModel.setSelectionMode(int)

setButtonVisible

public void setButtonVisible(String command,
                             boolean visible)
Sets the button visible or invisible.

Parameters:
command - the name defined in DualList. They are constants starting with "COMMAND_" such as COMMAND_MOVE_LEFT.
visible - true to show the button and false to hide.

isButtonVisible

public boolean isButtonVisible(String command)
Checks if the button is visible.

Parameters:
command - the name defined in DualList. They are constants starting with "COMMAND_" such as COMMAND_MOVE_LEFT.
Returns:
true or false.

setButtonEnabled

public void setButtonEnabled(String command,
                             boolean enabled)
Sets the button to always disabled.

Parameters:
command - the name defined in DualList. They are constants starting with "COMMAND_" such as COMMAND_MOVE_LEFT.
enabled - false to always disable the button.

isButtonEnabled

public boolean isButtonEnabled(String command)
Checks if the button is always disabled.

Parameters:
command - the name defined in DualList. They are constants starting with "COMMAND_" such as COMMAND_MOVE_LEFT.
Returns:
false if the button is always disabled. Otherwise true. Note that this method still could return true when the button isEnabled() return false.

setButtonPanelVisible

@Deprecated
public void setButtonPanelVisible(boolean buttonPanelVisible)
Deprecated. Replaced by setMiddleButtonPanelVisible(boolean)

Parameters:
buttonPanelVisible - the visibility

isButtonPanelVisible

@Deprecated
public boolean isButtonPanelVisible()
Deprecated. Replaced by isMiddleButtonPanelVisible()

Returns:
true if the button panel is visible. Otherwise false.

setMiddleButtonPanelVisible

public void setMiddleButtonPanelVisible(boolean middleButtonPanelVisible)
Set the visibility of the middle button panel.

Parameters:
middleButtonPanelVisible - the visibility

isMiddleButtonPanelVisible

public boolean isMiddleButtonPanelVisible()
Get the visibility of the middle button panel.

Returns:
true if the middle button panel is visible. Otherwise false.

setRightButtonPanelVisible

public void setRightButtonPanelVisible(boolean middleButtonPanelVisible)
Set the visibility of the right button panel.

Parameters:
middleButtonPanelVisible - the visibility

isRightButtonPanelVisible

public boolean isRightButtonPanelVisible()
Get the visibility of the right button panel.

Returns:
true if the right button panel is visible. Otherwise false.

getCellRenderer

public ListCellRenderer getCellRenderer()
Gets the list cell renderer for the left list.

Returns:
the list cell renderer for the left list.

setCellRenderer

public void setCellRenderer(ListCellRenderer cellRenderer)
Sets the list cell renderer for the list on the left. If setSelectedCellRenderer(javax.swing.ListCellRenderer) is never called, the same renderer will be used for the list on the right too.

Parameters:
cellRenderer - the new list cell renderer

getSelectedCellRenderer

public ListCellRenderer getSelectedCellRenderer()
Gets the list cell renderer for the right list. If you never set it, it will be the same as getCellRenderer().

Returns:
the list cell renderer for the right list.

setSelectedCellRenderer

public void setSelectedCellRenderer(ListCellRenderer selectedCellRenderer)
Sets the list cell renderer for the list on the right.

Parameters:
selectedCellRenderer - the new list cell renderer

getDisabledCellRenderer

public ListCellRenderer getDisabledCellRenderer()
Returns the disabled cell renderer. It will be used for the list whenever the item is not able to move left or right.

Returns:
the disabled cell renderer

setDisabledCellRenderer

public void setDisabledCellRenderer(ListCellRenderer disabledCellRenderer)
Sets the disabled cell renderer.

Parameters:
disabledCellRenderer - the new disabled cell renderer.

moveLeft

public void moveLeft()
Moves the selected items in the right list to the left list.


moveRight

public void moveRight()
Moves the selected items in the left list to the right list.


moveAllLeft

public void moveAllLeft()
Moves all items from the right list to the left list.


moveAllRight

public void moveAllRight()
Moves all items from the left list to the right list.


moveUp

public void moveUp()
Moves the selected items in the right list up by one.


moveDown

public void moveDown()
Moves the selected items in the right list down by one.


moveToTop

public void moveToTop()
Moves the selected items in the right list to the top.


moveToBottom

public void moveToBottom()
Moves the selected items in the right list to the bottom.


setVisibleRowCount

public void setVisibleRowCount(int visibleRowCount)
Sets the visible row count in the two lists. Please note, if you set a number too small, it will not have any effect because the buttons also need vertical space.

Parameters:
visibleRowCount - an integer specifying the preferred number of rows to display without requiring scrolling

getVisibleRowCount

public int getVisibleRowCount()
Returns the value of the visibleRowCount from the list.

Returns:
the value of the visibleRowCount property.
See Also:
setVisibleRowCount(int)

isAllowDuplicates

public boolean isAllowDuplicates()
Get the flag if duplicate selection is allowed in the DualList.

Returns:
true if duplicate selection is allowed. Otherwise false.
See Also:
setAllowDuplicates(boolean)

setAllowDuplicates

public void setAllowDuplicates(boolean allowDuplicates)
Set the flag if duplicate selection is allowed in the DualList.

This flag will only take effective if getSelectionMode() returns DualListModel.KEEP_SELECTION

By default the flag is true to keep original behavior.

Parameters:
allowDuplicates - the flag
See Also:
setSelectionMode(int)

isDoubleClickEnabled

public boolean isDoubleClickEnabled()
Gets the flag indicating if double click to select is enabled.

Returns:
true if double click is enabled. Otherwise false.
Since:
3.2.3
See Also:
setDoubleClickEnabled(boolean)

setDoubleClickEnabled

public void setDoubleClickEnabled(boolean doubleClickEnabled)
Sets the flag indicating if double click to select is enabled.

By default, the flag is true.

Parameters:
doubleClickEnabled - the flag
Since:
3.2.3

getResourceString

protected String getResourceString(String key)
Gets the localized string from resource bundle. Subclass can override it to provide its own string. For example, you can customize the icons by overriding this method. The key for the icons will be in the format of "dualList.moveLeft.icon" and "dualList.moveLeft.disabledIcon" for the move left button. There are a total of eight buttons. Once you override, you can return a full qualified path to the icon resource such as "/com/yourcompany/icons/moveLeft.png". Note that the icon must be in the class path so that we can access it as resource.

Parameters:
key - the key
Returns:
the localized string.

performAction

protected void performAction(String command)
Performs the action.

Parameters:
command - the command

JIDE 3.5.15