edu.northwestern.at.utils.swing
Class XScrollPane

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JScrollPane
                  extended by edu.northwestern.at.utils.swing.XScrollPane
All Implemented Interfaces:
PrintableContents, SaveToFile, SelectAll, java.awt.dnd.DropTargetListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.ScrollPaneConstants

public class XScrollPane
extends javax.swing.JScrollPane
implements java.awt.dnd.DropTargetListener, PrintableContents, SaveToFile, SelectAll

Extended JScrollPane.

Subclasses JScrollPane to delegate drag and drop events to associated view component, if the view supports drag and drop; to support printing of the component being scrolled; and to pass on cut/copy/paste and select all events to the component being scrolled.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JScrollPane
javax.swing.JScrollPane.AccessibleJScrollPane, javax.swing.JScrollPane.ScrollBar
 
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
protected  java.awt.dnd.DropTarget dropTarget
           
protected  java.awt.dnd.DropTargetListener dropTargetListener
           
 
Fields inherited from class javax.swing.JScrollPane
columnHeader, horizontalScrollBar, horizontalScrollBarPolicy, lowerLeft, lowerRight, rowHeader, upperLeft, upperRight, verticalScrollBar, verticalScrollBarPolicy, viewport
 
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.ScrollPaneConstants
COLUMN_HEADER, HORIZONTAL_SCROLLBAR, HORIZONTAL_SCROLLBAR_ALWAYS, HORIZONTAL_SCROLLBAR_AS_NEEDED, HORIZONTAL_SCROLLBAR_NEVER, HORIZONTAL_SCROLLBAR_POLICY, LOWER_LEADING_CORNER, LOWER_LEFT_CORNER, LOWER_RIGHT_CORNER, LOWER_TRAILING_CORNER, ROW_HEADER, UPPER_LEADING_CORNER, UPPER_LEFT_CORNER, UPPER_RIGHT_CORNER, UPPER_TRAILING_CORNER, VERTICAL_SCROLLBAR, VERTICAL_SCROLLBAR_ALWAYS, VERTICAL_SCROLLBAR_AS_NEEDED, VERTICAL_SCROLLBAR_NEVER, VERTICAL_SCROLLBAR_POLICY, VIEWPORT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
XScrollPane()
          Create empty scroll pane without associated view.
XScrollPane(java.awt.Component view)
          Create scroll pane with associated view.
XScrollPane(java.awt.Component view, int vsbPolicy, int hsbPolicy)
          Create scroll pane with associated view and scroll bar policies.
XScrollPane(int vsbPolicy, int hsbPolicy)
          Create scroll pane with scroll bar policies.
 
Method Summary
 void dragEnter(java.awt.dnd.DropTargetDragEvent dtde)
          Handle drag enter event.
 void dragExit(java.awt.dnd.DropTargetEvent dte)
          Handle drag exit event.
 void dragOver(java.awt.dnd.DropTargetDragEvent dtde)
          Handle drag over event.
 void drop(java.awt.dnd.DropTargetDropEvent dtde)
           
 void dropActionChanged(java.awt.dnd.DropTargetDragEvent dtde)
          Handle drop action changed event.
 PrintableComponent getPrintableComponent(java.lang.String title, java.awt.print.PageFormat pageFormat)
          Return printable component.
 boolean isSelectAllEnabled()
          Checks if "select all" enabled.
 boolean isUnselectEnabled()
          Checks if "select all" enabled.
 void paint(java.awt.Graphics g)
          Ensure enclosed XTable is repainted when scroll pane is repainted.
 void saveToFile(java.lang.String fileName)
          Save data in scrolled component a file.
 void saveToFile(java.awt.Window parentWindow)
          Save data in scrolled component.
 void selectAll()
          Selects all text in the enclosed view.
 void setDropTargetListener(java.awt.dnd.DropTargetListener dropTargetListener)
          Set drop target listener.
 void unselect()
          Selects all text in the enclosed view.
 
Methods inherited from class javax.swing.JScrollPane
createHorizontalScrollBar, createVerticalScrollBar, createViewport, getAccessibleContext, getColumnHeader, getCorner, getHorizontalScrollBar, getHorizontalScrollBarPolicy, getRowHeader, getUI, getUIClassID, getVerticalScrollBar, getVerticalScrollBarPolicy, getViewport, getViewportBorder, getViewportBorderBounds, isValidateRoot, isWheelScrollingEnabled, paramString, setColumnHeader, setColumnHeaderView, setComponentOrientation, setCorner, setHorizontalScrollBar, setHorizontalScrollBarPolicy, setLayout, setRowHeader, setRowHeaderView, setUI, setVerticalScrollBar, setVerticalScrollBarPolicy, setViewport, setViewportBorder, setViewportView, setWheelScrollingEnabled, updateUI
 
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, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, 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, setEnabled, 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, 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, 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

dropTargetListener

protected java.awt.dnd.DropTargetListener dropTargetListener

dropTarget

protected java.awt.dnd.DropTarget dropTarget
Constructor Detail

XScrollPane

public XScrollPane()
Create empty scroll pane without associated view.


XScrollPane

public XScrollPane(java.awt.Component view)
Create scroll pane with associated view.

Parameters:
view - The associated view component being scrolled.

XScrollPane

public XScrollPane(java.awt.Component view,
                   int vsbPolicy,
                   int hsbPolicy)
Create scroll pane with associated view and scroll bar policies.

Parameters:
view - The associated view component being scrolled.
vsbPolicy - Specifies the vertical scrollbar policy.
hsbPolicy - Specifies the horizontal scrollbar policy.

XScrollPane

public XScrollPane(int vsbPolicy,
                   int hsbPolicy)
Create scroll pane with scroll bar policies.

Parameters:
vsbPolicy - Specifies the vertical scrollbar policy.
hsbPolicy - Specifies the horizontal scrollbar policy.
Method Detail

paint

public void paint(java.awt.Graphics g)
Ensure enclosed XTable is repainted when scroll pane is repainted.

Overrides:
paint in class javax.swing.JComponent

dragEnter

public void dragEnter(java.awt.dnd.DropTargetDragEvent dtde)
Handle drag enter event.

Specified by:
dragEnter in interface java.awt.dnd.DropTargetListener
Parameters:
dtde - The drag enter event.

dragOver

public void dragOver(java.awt.dnd.DropTargetDragEvent dtde)
Handle drag over event.

Specified by:
dragOver in interface java.awt.dnd.DropTargetListener
Parameters:
dtde - The drag over event.

dropActionChanged

public void dropActionChanged(java.awt.dnd.DropTargetDragEvent dtde)
Handle drop action changed event.

Specified by:
dropActionChanged in interface java.awt.dnd.DropTargetListener
Parameters:
dtde - The drop action changes event.

dragExit

public void dragExit(java.awt.dnd.DropTargetEvent dte)
Handle drag exit event.

Specified by:
dragExit in interface java.awt.dnd.DropTargetListener
Parameters:
dte - The drag exit event.

drop

public void drop(java.awt.dnd.DropTargetDropEvent dtde)
Specified by:
drop in interface java.awt.dnd.DropTargetListener

setDropTargetListener

public void setDropTargetListener(java.awt.dnd.DropTargetListener dropTargetListener)
Set drop target listener.

Parameters:
dropTargetListener - The delegate drop target listener.

getPrintableComponent

public PrintableComponent getPrintableComponent(java.lang.String title,
                                                java.awt.print.PageFormat pageFormat)
Return printable component.

Specified by:
getPrintableComponent in interface PrintableContents
Parameters:
title - Title for printing.
pageFormat - Page format for printing.
Returns:
Printable component.

The printable component is the component wrapped by this scroll pane.


selectAll

public void selectAll()
Selects all text in the enclosed view.

Specified by:
selectAll in interface SelectAll

isSelectAllEnabled

public boolean isSelectAllEnabled()
Checks if "select all" enabled.

Specified by:
isSelectAllEnabled in interface SelectAll
Returns:
returns true if select all enabled.

unselect

public void unselect()
Selects all text in the enclosed view.

Specified by:
unselect in interface SelectAll

isUnselectEnabled

public boolean isUnselectEnabled()
Checks if "select all" enabled.

Specified by:
isUnselectEnabled in interface SelectAll
Returns:
returns true if select all enabled.

saveToFile

public void saveToFile(java.lang.String fileName)
Save data in scrolled component a file.

Specified by:
saveToFile in interface SaveToFile
Parameters:
fileName - Name of file to save results to.

Can save any data where the scrolled component implements the SaveToFile interface. Override this if you need other types of saves.


saveToFile

public void saveToFile(java.awt.Window parentWindow)
Save data in scrolled component.

Specified by:
saveToFile in interface SaveToFile
Parameters:
parentWindow - Parent window for file dialog.

Runs a file dialog to get the name of the file to which to save the results.

Can save any data where the scrolled component implements the SaveToFile interface. Override this if you need other types of saves.