ghm.follow.gui
Class FileFollowingPane

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 ghm.follow.gui.FileFollowingPane
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.ScrollPaneConstants

public class FileFollowingPane
extends javax.swing.JScrollPane

A component which allows one to view a text file to which information is being asynchronously appended.

Author:
Greg Merrill
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  JTextComponentDestination destination
          OutputDestination used w/FileFollower
protected  FileFollower fileFollower
          FileFollower used to print to this component
protected  SearchableTextPane textArea
          Text area into which followed file's contents are printed
 
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
FileFollowingPane(java.io.File file, int bufferSize, int latency, boolean autoPositionCaret, java.awt.Font font, int tabSize)
           
 
Method Summary
 boolean autoPositionCaret()
          Returns whether caret is automatically repositioned to the end of the text area when text is appended to the followed file
 void clear()
          Clears the contents of this FileFollowingPane synchronously.
 FileFollower getFileFollower()
          Returns the FileFollower which is being used to print information in this component.
 java.io.File getFollowedFile()
          Convenience method; equivalent to calling getFileFollower().getFollowedFile()
 SearchableTextPane getTextPane()
          Returns the text area to which the followed file's contents are being printed.
 boolean isFollowing()
          Convenience method; equivalent to called getFileFollower().isBeingFollowed()
 boolean isFollowingPaused()
          Convenience method; equivalent to calling getFileFollower().isPaused()
 void pauseFollowing()
          Convenience method; equivalent to calling getFileFollower().pause()
 void restartFollowing()
          Convenience method; equivalent to calling getFileFollower().restart()
 void setAutoPositionCaret(boolean value)
          Sets whether caret is automatically repositioned to the end of the text area when text is appended to the followed file
 void startFollowing()
          Convenience method; equivalent to calling getFileFollower().start()
 void stopFollowing()
          Convenience method; equivalent to calling getFileFollower().stop()
 void stopFollowingAndWait()
          Convenience method; equivalent to calling getFileFollower().stopAndWait()
 void unpauseFollowing()
          Convenience method; equivalent to calling getFileFollower().unpause()
 
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, 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, 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

fileFollower

protected FileFollower fileFollower
FileFollower used to print to this component


textArea

protected SearchableTextPane textArea
Text area into which followed file's contents are printed


destination

protected JTextComponentDestination destination
OutputDestination used w/FileFollower

Constructor Detail

FileFollowingPane

public FileFollowingPane(java.io.File file,
                         int bufferSize,
                         int latency,
                         boolean autoPositionCaret,
                         java.awt.Font font,
                         int tabSize)
Parameters:
file - text file to be followed
bufferSize - size of the character buffer inside the FileFollower used to follow the supplied file
latency - latency of the FileFollower used to follow the supplied file
Method Detail

getTextPane

public SearchableTextPane getTextPane()
Returns the text area to which the followed file's contents are being printed.

Returns:
text area containing followed file's contents

autoPositionCaret

public boolean autoPositionCaret()
Returns whether caret is automatically repositioned to the end of the text area when text is appended to the followed file

Returns:
whether caret is automatically repositioned on append

setAutoPositionCaret

public void setAutoPositionCaret(boolean value)
Sets whether caret is automatically repositioned to the end of the text area when text is appended to the followed file

Parameters:
value - whether caret is automatically repositioned on append

getFileFollower

public FileFollower getFileFollower()
Returns the FileFollower which is being used to print information in this component.

Returns:
FileFollower used by this component

getFollowedFile

public java.io.File getFollowedFile()
Convenience method; equivalent to calling getFileFollower().getFollowedFile()


startFollowing

public void startFollowing()
Convenience method; equivalent to calling getFileFollower().start()


stopFollowing

public void stopFollowing()
Convenience method; equivalent to calling getFileFollower().stop()


restartFollowing

public void restartFollowing()
Convenience method; equivalent to calling getFileFollower().restart()


pauseFollowing

public void pauseFollowing()
Convenience method; equivalent to calling getFileFollower().pause()


unpauseFollowing

public void unpauseFollowing()
Convenience method; equivalent to calling getFileFollower().unpause()


isFollowingPaused

public boolean isFollowingPaused()
Convenience method; equivalent to calling getFileFollower().isPaused()

Returns:

stopFollowingAndWait

public void stopFollowingAndWait()
                          throws java.lang.InterruptedException
Convenience method; equivalent to calling getFileFollower().stopAndWait()

Throws:
java.lang.InterruptedException

isFollowing

public boolean isFollowing()
Convenience method; equivalent to called getFileFollower().isBeingFollowed()

Returns:

clear

public void clear()
           throws java.io.IOException
Clears the contents of this FileFollowingPane synchronously.

Throws:
java.io.IOException


Copyright © 2008. All Rights Reserved.