bill.apps.wordsearch
Class WordSearchDNDLabel

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JLabel
                          |
                          +--bill.apps.wordsearch.WordSearchDNDLabel
All Implemented Interfaces:
Accessible, DragGestureListener, DragSourceListener, DropTargetListener, EventListener, ImageObserver, MenuContainer, Serializable, SwingConstants

public class WordSearchDNDLabel
extends JLabel
implements DragSourceListener, DropTargetListener, DragGestureListener

Drag and drop version of the JLabel class. Used in playing the Word Search game to allow the user to drag letters around.

See Also:
Serialized Form

Inner classes inherited from class javax.swing.JLabel
JLabel.AccessibleJLabel
 
Inner classes inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Inner classes inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Inner classes inherited from class java.awt.Component
Component.AccessibleAWTComponent
 
Fields inherited from class javax.swing.JLabel
labelFor
 
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
WordSearchDNDLabel(String text, String letter, PlayTab tab)
          Creates a new instance of this class based on the supplied data.
 
Method Summary
 void dragDropEnd(DragSourceDropEvent dsde)
          This method is invoked to signify that the Drag and Drop operation is complete.
 void dragEnter(DragSourceDragEvent dsde)
          Called as the hotspot enters a platform dependent drop site.
 void dragEnter(DropTargetDragEvent dtde)
           
 void dragExit(DragSourceEvent dse)
          Called as the hotspot exits a platform dependent drop site.
 void dragExit(DropTargetEvent dte)
           
 void dragGestureRecognized(DragGestureEvent event)
           
 void dragOver(DragSourceDragEvent dsde)
          Called as the hotspot moves over a platform dependent drop site.
 void dragOver(DropTargetDragEvent dtde)
           
 void drop(DropTargetDropEvent dtde)
           
 void dropActionChanged(DragSourceDragEvent dsde)
          Called when the user has modified the drop gesture.
 void dropActionChanged(DropTargetDragEvent dtde)
           
 String getLetter()
          Retrieves the letter represented by this label.
 boolean isTrash()
          Gets the 'trash can' indicator.
 void setLetter(String letter)
          Sets the letter represented by this label.
 void setTrash(boolean trash)
          Sets the 'trash can' indicator.
 
Methods inherited from class javax.swing.JLabel
checkHorizontalKey, checkVerticalKey, getAccessibleContext, getDisabledIcon, getDisplayedMnemonic, getHorizontalAlignment, getHorizontalTextPosition, getIcon, getIconTextGap, getLabelFor, getText, getUI, getUIClassID, getVerticalAlignment, getVerticalTextPosition, imageUpdate, paramString, setDisabledIcon, setDisplayedMnemonic, setDisplayedMnemonic, setHorizontalAlignment, setHorizontalTextPosition, setIcon, setIconTextGap, setLabelFor, setText, setUI, setVerticalAlignment, setVerticalTextPosition, 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, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getVerifyInputWhenFocusTarget, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, hide, isDoubleBuffered, isFocusCycleRoot, isFocusTraversable, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processFocusEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDoubleBuffered, setEnabled, setFont, 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, addInputMethodListener, 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, getInputMethodRequests, getLocale, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, 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, processInputMethodEvent, 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
 

Constructor Detail

WordSearchDNDLabel

public WordSearchDNDLabel(String text,
                          String letter,
                          PlayTab tab)
Creates a new instance of this class based on the supplied data.
Parameters:
text - The formatted text to display in this label.
letter - The letter this label represents.
tab - The PlayTab this label is displayed on.
Method Detail

setTrash

public void setTrash(boolean trash)
Sets the 'trash can' indicator. The trash can is a place where letters can be dropped to get a replacement letter.
Parameters:
trash - Indicates if this is a trash can or not.

isTrash

public boolean isTrash()
Gets the 'trash can' indicator. The trash can is a place where letters can be dropped to get a replacement letter.
Returns:
Returns true if this is a trash can, otherwise return false.

setLetter

public void setLetter(String letter)
Sets the letter represented by this label. We also set the label's formatted display text here so the setText () method does not have to be called seperately. We use a large font size for the letters so they are easy to click on. The trash can gets a slightly smaller font.
Parameters:
letter - The letter the label represents.

getLetter

public String getLetter()
Retrieves the letter represented by this label.
Returns:
The letter the label represents.

dragDropEnd

public void dragDropEnd(DragSourceDropEvent dsde)
This method is invoked to signify that the Drag and Drop operation is complete. We do not care so we do nothing
Specified by:
dragDropEnd in interface DragSourceListener
Parameters:
dsde - - The event representing the drag.

dragEnter

public void dragEnter(DragSourceDragEvent dsde)
Called as the hotspot enters a platform dependent drop site. When this happens we tell the PlayTab that we are being dragged.
Specified by:
dragEnter in interface DragSourceListener
Parameters:
dse - - The event representing the drag.

dragExit

public void dragExit(DragSourceEvent dse)
Called as the hotspot exits a platform dependent drop site. We do not care so we do nothing.
Specified by:
dragExit in interface DragSourceListener
Parameters:
dse - - The event representing the drag.

dragOver

public void dragOver(DragSourceDragEvent dsde)
Called as the hotspot moves over a platform dependent drop site. We do not care so we do nothing.
Specified by:
dragOver in interface DragSourceListener
Parameters:
dsde - - The event representing the drag.

dropActionChanged

public void dropActionChanged(DragSourceDragEvent dsde)
Called when the user has modified the drop gesture. We do not care so we do nothing.
Specified by:
dropActionChanged in interface DragSourceListener
Parameters:
dsde - - The event representing the drag.

dragGestureRecognized

public void dragGestureRecognized(DragGestureEvent event)
Specified by:
dragGestureRecognized in interface DragGestureListener

dragEnter

public void dragEnter(DropTargetDragEvent dtde)
Specified by:
dragEnter in interface DropTargetListener

dragExit

public void dragExit(DropTargetEvent dte)
Specified by:
dragExit in interface DropTargetListener

dragOver

public void dragOver(DropTargetDragEvent dtde)
Specified by:
dragOver in interface DropTargetListener

drop

public void drop(DropTargetDropEvent dtde)
Specified by:
drop in interface DropTargetListener

dropActionChanged

public void dropActionChanged(DropTargetDragEvent dtde)
Specified by:
dropActionChanged in interface DropTargetListener