|
CubeTwister 2.0alpha142 2012-02-11 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectjava.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JList
ch.randelshofer.gui.MutableJList
ch.randelshofer.gui.JDnDList
public class JDnDList
A JList that supports drag and drop operations if its model is an instance of MutableListModel.
The DnDJList supports Copy, Move and Link drag and drop actions. The default is Copy and Move. To change the supported actions use setSupportedDragActions and setSupportedDropActions.
FIXME: Implement Workarounds for Apple MRJ 1.3.1 Update 1 for Mac OS X 10.1.x FIXME: Implement cloning.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class javax.swing.JList |
|---|
javax.swing.JList.AccessibleJList, javax.swing.JList.DropLocation |
| Nested classes/interfaces inherited from class javax.swing.JComponent |
|---|
javax.swing.JComponent.AccessibleJComponent |
| Nested classes/interfaces inherited from class java.awt.Container |
|---|
java.awt.Container.AccessibleAWTContainer |
| Nested classes/interfaces inherited from class java.awt.Component |
|---|
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy |
| Field Summary |
|---|
| Fields inherited from class javax.swing.JList |
|---|
HORIZONTAL_WRAP, VERTICAL, VERTICAL_WRAP |
| 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 org.jhotdraw.gui.EditableComponent |
|---|
SELECTION_EMPTY_PROPERTY |
| Fields inherited from interface java.awt.image.ImageObserver |
|---|
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
| Constructor Summary | |
|---|---|
JDnDList()
Constructs a DnDJList with an empty DefaultMutableListModel. |
|
JDnDList(MutableListModel m)
Constructs a DnDJList with the specified MutableListModel. |
|
| Method Summary | |
|---|---|
void |
addSelectionInterval(int anchor,
int lead)
Set the selection to be the union of the specified interval with current selection. |
void |
autoscroll(java.awt.Point location)
notify the Component to autoscroll |
void |
clearSelection()
Clears the selection - after calling this method isSelectionEmpty() will return true. |
protected java.awt.Image |
createDragImage(java.awt.Point dragOrigin,
int dragOriginItemIndex,
int[] draggedIndices,
boolean isSelected,
java.awt.Point imageOffset)
Creates a drag image and computes the image offset as a side effect. |
java.awt.Insets |
getAutoscrollInsets()
This method returns the Insets describing
the autoscrolling region or border relative
to the geometry of the implementing Component. |
boolean |
getPaintsDropCursor()
Returns true if the DnDJList paints a drop cursor when it is an active drop target. |
int |
getSupportedDragActions()
This method returns an int representing the type of drag action(s) this DnDJList supports. |
int |
getSupportedDropActions()
This method returns an int representing the type of drop action(s) this DnDJList supports. |
static void |
main(java.lang.String[] args)
|
protected void |
paintAutoscrollRegion(java.awt.Graphics g)
Paints a rectangle which gives the user a hint, where the autoscroll region is. |
void |
paintComponent(java.awt.Graphics g)
Paints the component and draws the drop cursor and the autoscroll region if the DnDJList is an active drop target. |
protected void |
paintDropCursor(java.awt.Graphics g)
Paints a cursor which gives the user a hint, where the potential insertion point of the current drag and drop operation is. |
void |
removeSelectionInterval(int index0,
int index1)
Set the selection to be the set difference of the specified interval and the current selection. |
protected void |
repaintDropCursor(int oldInsertionIndex,
int newInsertionIndex)
Calls repaint for the graphics region where the old insertion point was and where the new insertion point is. |
void |
setEnabled(boolean b)
Sets the enabled state of the DnDJList. |
void |
setModel(javax.swing.ListModel m)
Sets the model that represents the contents or "value" of the list. |
void |
setPaintsDropCursor(boolean b)
Turns the drop cursor feature on or of. |
void |
setSelectedIndex(int index)
Select a single cell. |
void |
setSelectedIndices(int[] indices)
Select a set of cells. |
void |
setSelectionInterval(int anchor,
int lead)
Select the specified interval. |
void |
setSupportedDragActions(int actions)
This method sets the permitted source drag action(s) for this DnDJList. |
void |
setSupportedDropActions(int actions)
This method sets the permitted target drop action(s) for this DnDJList. |
| Methods inherited from class ch.randelshofer.gui.MutableJList |
|---|
addNotify, configureEnclosingScrollPane, copy, create, createPopup, cut, delete, duplicate, paste, removeNotify, selectAll, unconfigureEnclosingScrollPane |
| Methods inherited from class javax.swing.JList |
|---|
addListSelectionListener, createSelectionModel, ensureIndexIsVisible, fireSelectionValueChanged, getAccessibleContext, getAnchorSelectionIndex, getCellBounds, getCellRenderer, getDragEnabled, getDropLocation, getDropMode, getFirstVisibleIndex, getFixedCellHeight, getFixedCellWidth, getLastVisibleIndex, getLayoutOrientation, getLeadSelectionIndex, getListSelectionListeners, getMaxSelectionIndex, getMinSelectionIndex, getModel, getNextMatch, getPreferredScrollableViewportSize, getPrototypeCellValue, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getSelectedIndex, getSelectedIndices, getSelectedValue, getSelectedValues, getSelectionBackground, getSelectionForeground, getSelectionMode, getSelectionModel, getToolTipText, getUI, getUIClassID, getValueIsAdjusting, getVisibleRowCount, indexToLocation, isSelectedIndex, isSelectionEmpty, locationToIndex, paramString, removeListSelectionListener, setCellRenderer, setDragEnabled, setDropMode, setFixedCellHeight, setFixedCellWidth, setLayoutOrientation, setListData, setListData, setPrototypeCellValue, setSelectedValue, setSelectionBackground, setSelectionForeground, setSelectionMode, setSelectionModel, setUI, setValueIsAdjusting, setVisibleRowCount, updateUI |
| Methods inherited from class javax.swing.JComponent |
|---|
addAncestorListener, 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, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, 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, setVisible, unregisterKeyboardAction, update |
| Methods inherited from class java.awt.Container |
|---|
add, add, add, add, add, addContainerListener, addImpl, 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, 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 |
| Methods inherited from interface org.jhotdraw.gui.EditableComponent |
|---|
addPropertyChangeListener, isSelectionEmpty, removePropertyChangeListener |
| Constructor Detail |
|---|
public JDnDList()
public JDnDList(MutableListModel m)
| Method Detail |
|---|
public void setModel(javax.swing.ListModel m)
setModel in class javax.swing.JListpublic void setSupportedDragActions(int actions)
This is a bound property.
actions - the permitted source drag action(s).
The value is constructed by doing a logical OR of
the desired actions specified by the
DnDConstants.ACTION_... constants.DnDConstantspublic int getSupportedDragActions()
DnDConstantspublic void setSupportedDropActions(int actions)
actions - the permitted target drop action(s).
The value is constructed by doing a logical OR of
the desired actions specified by the
DnDConstants.ACTION_... constants.DnDConstantspublic int getSupportedDropActions()
DnDConstantspublic void setEnabled(boolean b)
setEnabled in class MutableJListDropTarget.setActive(boolean)public void setPaintsDropCursor(boolean b)
The drop cursor indicates where an item will be inserted when the user drops an object at the current mouse location.
The drop cursor is shown only, when the DnDJList is the target of the current drag and drop operation and when it can accept the dragged object.
public boolean getPaintsDropCursor()
public void clearSelection()
clearSelection in interface org.jhotdraw.gui.EditableComponentclearSelection in class javax.swing.JListListSelectionModel.clearSelection(),
JList.isSelectionEmpty(),
JList.addListSelectionListener(javax.swing.event.ListSelectionListener)
public void setSelectionInterval(int anchor,
int lead)
setSelectionInterval in class javax.swing.JListanchor - The first index to selectlead - The last index to selectListSelectionModel.setSelectionInterval(int, int),
addSelectionInterval(int, int),
removeSelectionInterval(int, int),
JList.addListSelectionListener(javax.swing.event.ListSelectionListener)
public void addSelectionInterval(int anchor,
int lead)
addSelectionInterval in class javax.swing.JListanchor - The first index to add to the selectionlead - The last index to add to the selectionListSelectionModel.addSelectionInterval(int, int),
setSelectionInterval(int, int),
removeSelectionInterval(int, int),
JList.addListSelectionListener(javax.swing.event.ListSelectionListener)
public void removeSelectionInterval(int index0,
int index1)
removeSelectionInterval in class javax.swing.JListindex0 - The first index to remove from the selectionindex1 - The last index to remove from the selectionListSelectionModel.removeSelectionInterval(int, int),
setSelectionInterval(int, int),
addSelectionInterval(int, int),
JList.addListSelectionListener(javax.swing.event.ListSelectionListener)public void setSelectedIndex(int index)
setSelectedIndex in class javax.swing.JListindex - The index of the one cell to selectListSelectionModel.setSelectionInterval(int, int),
JList.isSelectedIndex(int),
description: The index of the selected cell.public void setSelectedIndices(int[] indices)
setSelectedIndices in class javax.swing.JListindices - The indices of the cells to selectListSelectionModel.addSelectionInterval(int, int),
JList.isSelectedIndex(int),
JList.addListSelectionListener(javax.swing.event.ListSelectionListener)public java.awt.Insets getAutoscrollInsets()
Insets describing
the autoscrolling region or border relative
to the geometry of the implementing Component.
This value is read once by the DropTarget
upon entry of the drag Cursor
into the associated Component.
getAutoscrollInsets in interface java.awt.dnd.Autoscrollpublic void autoscroll(java.awt.Point location)
Component to autoscroll
autoscroll in interface java.awt.dnd.Autoscrolllocation - A Point indicating the
location of the cursor that triggered this operation.public void paintComponent(java.awt.Graphics g)
paintComponent in class javax.swing.JComponentprotected void paintAutoscrollRegion(java.awt.Graphics g)
protected void paintDropCursor(java.awt.Graphics g)
Note that you have to change method repaintInsertPoint if you change the shape of the drop cursor. �@see
protected void repaintDropCursor(int oldInsertionIndex,
int newInsertionIndex)
oldInsertionIndex - index of the old insertion point.
newInsertionIndex - index of the new insertion point.
protected java.awt.Image createDragImage(java.awt.Point dragOrigin,
int dragOriginItemIndex,
int[] draggedIndices,
boolean isSelected,
java.awt.Point imageOffset)
dragOrigin - The mouse location in component coordinates where
the drag gesture was recognized.dragOriginItemIndex - The index of the list item at the drag origin.draggedIndices - The indices of the list items to be dragged.isSelected - Indicates whether the dragged items are selected or not.imageOffset - The image offset. As a side effect, the x and y
coordinates of the argument will be set by this method.
The image offset is to be used along with the returned
image when invoking the start drag method!
public static void main(java.lang.String[] args)
|
(c) Werner Randelshofer. All rights reserved. |
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||