Class ScrollableTextArea

  • All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.ScrollPaneConstants

    public class ScrollableTextArea
    extends javax.swing.JScrollPane
    A JScrollPane wrapper for a text area that can be told to scroll to bottom
    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

      • 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

        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

        accessibleContext, 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
      • 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
    • Constructor Summary

      Constructors 
      Constructor Description
      ScrollableTextArea()
      Constructs a scrollable JTextArea, where a default model is set, the initial string is null, and rows/columns are set to 0.
      ScrollableTextArea​(int rows, int columns)
      Constructs a new empty TextArea with the specified number of rows and columns.
      ScrollableTextArea​(java.lang.String text)
      Constructs a scrollable JextArea with the specified text displayed.
      ScrollableTextArea​(java.lang.String text, int rows, int columns)
      Constructs a scrollable JTextArea with the specified text and number of rows and columns.
      ScrollableTextArea​(javax.swing.text.Document doc)
      Constructs a scrollable JTextArea with the given document model, and defaults for all of the other arguments (null, 0, 0).
      ScrollableTextArea​(javax.swing.text.Document doc, java.lang.String text, int rows, int columns)
      Constructs a scrollable JTextArea with the specified number of rows and columns, and the given model.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void append​(java.lang.String text)
      Appends the text to the text area maintained in this scrollpane
      int getLineCount()
      Returns the number of lines current set in the text area
      java.awt.Dimension getPreferredSize()  
      int getTabSize()
      Returns the tabsize set in the text area
      java.lang.String getText()
      Returns the text contained within the text area
      int getTextAreaHeight()
      Returns the total area height of the text area (row height * line count)
      int getTextVisibleHeight()
      Returns the visible height of the text area
      void insert​(java.lang.String text, int position)
      Inserts the string at the specified position
      void replaceRange​(java.lang.String text, int start, int end)
      replaces the range of text specified
      void scrollToBottom()
      forces the scroll pane to scroll to bottom of text area
      void scrollToTop()
      Scroll the pane to the top of the text area.
      void setCaretPosition​(int position)  
      void setEditable​(boolean editable)
      Sets the ability to edit the text area content
      void setTabSize​(int tabSize)
      Sets the number of characters to expand tabs to.
      void setText​(java.lang.String text)
      set the text in the text area
      • 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, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, 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, 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, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • ScrollableTextArea

        public ScrollableTextArea()
        Constructs a scrollable JTextArea, where a default model is set, the initial string is null, and rows/columns are set to 0.
      • ScrollableTextArea

        public ScrollableTextArea​(java.lang.String text)
        Constructs a scrollable JextArea with the specified text displayed. A default model is created and rows/columns are set to 0.
        Parameters:
        text - the initial text.
      • ScrollableTextArea

        public ScrollableTextArea​(int rows,
                                  int columns)
        Constructs a new empty TextArea with the specified number of rows and columns. A default model is created, and the initial string is null.
        Parameters:
        rows - the number of visible rows.
        columns - the number of visible columns.
      • ScrollableTextArea

        public ScrollableTextArea​(java.lang.String text,
                                  int rows,
                                  int columns)
        Constructs a scrollable JTextArea with the specified text and number of rows and columns. A default model is created.
        Parameters:
        text - initial text.
        rows - the number of visible rows.
        columns - the number of visible columns.
      • ScrollableTextArea

        public ScrollableTextArea​(javax.swing.text.Document doc)
        Constructs a scrollable JTextArea with the given document model, and defaults for all of the other arguments (null, 0, 0).
        Parameters:
        doc - - the model to use
      • ScrollableTextArea

        public ScrollableTextArea​(javax.swing.text.Document doc,
                                  java.lang.String text,
                                  int rows,
                                  int columns)
        Constructs a scrollable JTextArea with the specified number of rows and columns, and the given model. All of the constructors feed through this constructor.
        Parameters:
        doc - - the model to use
        text - initial text.
        rows - the number of visible rows.
        columns - the number of visible columns.
    • Method Detail

      • append

        public void append​(java.lang.String text)
        Appends the text to the text area maintained in this scrollpane
        Parameters:
        text - the text to append.
      • getLineCount

        public int getLineCount()
        Returns the number of lines current set in the text area
      • getTabSize

        public int getTabSize()
        Returns the tabsize set in the text area
      • getTextAreaHeight

        public int getTextAreaHeight()
        Returns the total area height of the text area (row height * line count)
      • getTextVisibleHeight

        public int getTextVisibleHeight()
        Returns the visible height of the text area
      • insert

        public void insert​(java.lang.String text,
                           int position)
        Inserts the string at the specified position
        Parameters:
        text - the text to insert.
        position - the character postition at which to insert the text.
      • replaceRange

        public void replaceRange​(java.lang.String text,
                                 int start,
                                 int end)
        replaces the range of text specified
        Parameters:
        text - the new text that will replace the old text.
        start - the starting character postition of the text to replace.
        end - the ending character position of the text to replace.
      • setCaretPosition

        public void setCaretPosition​(int position)
      • getPreferredSize

        public java.awt.Dimension getPreferredSize()
        Overrides:
        getPreferredSize in class javax.swing.JComponent
      • scrollToBottom

        public void scrollToBottom()
        forces the scroll pane to scroll to bottom of text area
      • scrollToTop

        public void scrollToTop()
        Scroll the pane to the top of the text area.
      • setTabSize

        public void setTabSize​(int tabSize)
        Sets the number of characters to expand tabs to. This will be multiplied by the maximum advance for variable width fonts. A PropertyChange event ("tabSize") is fired when tab size changes.
        Parameters:
        tabSize - the new tab size.
      • setText

        public void setText​(java.lang.String text)
        set the text in the text area
        Parameters:
        text - the text to set.
      • getText

        public java.lang.String getText()
        Returns the text contained within the text area
      • setEditable

        public void setEditable​(boolean editable)
        Sets the ability to edit the text area content
        Parameters:
        editable - true to edit, false to not allow edit.