JIDE 3.5.15

com.jidesoft.swing
Class AutoResizingTextArea

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.text.JTextComponent
                  extended by javax.swing.JTextArea
                      extended by com.jidesoft.swing.AutoResizingTextArea
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, Scrollable

public class AutoResizingTextArea
extends JTextArea

An extended version of JTextArea that automatically resizes itself vertically. This component works best when used in a layout that obeys preferred height of its components. For example, you can use a BorderLayout and place AutoResizingTextArea to the north or south side. Similarly, you can use a JideBoxLayout and use FLEXIBLE or FIX as the constraint.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JTextArea
JTextArea.AccessibleJTextArea
 
Nested classes/interfaces inherited from class javax.swing.text.JTextComponent
JTextComponent.AccessibleJTextComponent, JTextComponent.DropLocation, JTextComponent.KeyBinding
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
static int DEFAULT_MAX_ROWS
          Default maximum height of the text area in rows.
static int DEFAULT_MIN_ROWS
          Default minimum height of the text area in rows.
 
Fields inherited from class javax.swing.text.JTextComponent
DEFAULT_KEYMAP, FOCUS_ACCELERATOR_KEY
 
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 java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
AutoResizingTextArea()
          Creates a textarea with the default minimum and maximum number of rows.
AutoResizingTextArea(Document doc)
          Create a new AutoResizingTextArea using a Document.
AutoResizingTextArea(Document doc, String text, int minRows, int maxRows, int columns)
          Constructs a new AutoResizingTextArea with the specified number of rows and columns, and the given model.
AutoResizingTextArea(int minRows)
          Creates a textarea with the specified minimum number of rows.
AutoResizingTextArea(int minRows, int maxRows)
          Creates a textarea with the specified minimum and maximum number of rows.
AutoResizingTextArea(int minRows, int maxRows, int columns)
          Create a new AutoResizingTextArea with a height bounded by the provided minimum and maximum row counts and with its width dictated by the provided column count.
AutoResizingTextArea(String text)
          Creates a textarea with the default minimum and maximum row count and the provided initial text.
AutoResizingTextArea(String text, int minRows, int maxRows, int columns)
          Create a new AutoResizingTextArea with a height bounded by the provided minimum and maximum row counts and with its width dictated by the provided column count.
 
Method Summary
 int getMaxRows()
          Gets the maximum number of rows that will be displayed.
 int getMinRows()
          Gets the minimum number of rows that will be displayed.
 Dimension getPreferredScrollableViewportSize()
           
protected  void numberOfRowsUpdated(int oldRow, int newRow)
          Called when the number of rows is updated.
 void setDocument(Document doc)
           
 void setMaxRows(int maxRows)
          Sets the maximum number of rows that will be displayed.
 void setMinRows(int minRows)
          Sets the minimum number of rows that will be displayed
 void setRows(int rows)
          Sets the number of visible rows.
 
Methods inherited from class javax.swing.JTextArea
append, createDefaultModel, getAccessibleContext, getColumns, getColumnWidth, getLineCount, getLineEndOffset, getLineOfOffset, getLineStartOffset, getLineWrap, getPreferredSize, getRowHeight, getRows, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getTabSize, getUIClassID, getWrapStyleWord, insert, paramString, replaceRange, setColumns, setFont, setLineWrap, setTabSize, setWrapStyleWord
 
Methods inherited from class javax.swing.text.JTextComponent
addCaretListener, addInputMethodListener, addKeymap, copy, cut, fireCaretUpdate, getActions, getCaret, getCaretColor, getCaretListeners, getCaretPosition, getDisabledTextColor, getDocument, getDragEnabled, getDropLocation, getDropMode, getFocusAccelerator, getHighlighter, getInputMethodRequests, getKeymap, getKeymap, getMargin, getNavigationFilter, getPrintable, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getSelectedText, getSelectedTextColor, getSelectionColor, getSelectionEnd, getSelectionStart, getText, getText, getToolTipText, getUI, isEditable, loadKeymap, modelToView, moveCaretPosition, paste, print, print, print, processInputMethodEvent, read, removeCaretListener, removeKeymap, removeNotify, replaceSelection, select, selectAll, setCaret, setCaretColor, setCaretPosition, setComponentOrientation, setDisabledTextColor, setDragEnabled, setDropMode, setEditable, setFocusAccelerator, setHighlighter, setKeymap, setMargin, setNavigationFilter, setSelectedTextColor, setSelectionColor, setSelectionEnd, setSelectionStart, setText, setUI, updateUI, viewToModel, write
 
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, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, 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, setEnabled, setFocusTraversalKeys, 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, 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, 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, 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

DEFAULT_MAX_ROWS

public static final int DEFAULT_MAX_ROWS
Default maximum height of the text area in rows.

See Also:
Constant Field Values

DEFAULT_MIN_ROWS

public static final int DEFAULT_MIN_ROWS
Default minimum height of the text area in rows.

See Also:
Constant Field Values
Constructor Detail

AutoResizingTextArea

public AutoResizingTextArea()
Creates a textarea with the default minimum and maximum number of rows.


AutoResizingTextArea

public AutoResizingTextArea(int minRows)
Creates a textarea with the specified minimum number of rows.

Parameters:
minRows - The minimum number of rows that this textarea can have.

AutoResizingTextArea

public AutoResizingTextArea(int minRows,
                            int maxRows)
Creates a textarea with the specified minimum and maximum number of rows.

Parameters:
minRows - The minimum number of rows that this textarea can have.
maxRows - The maximum number of rows that this textarea can have.

AutoResizingTextArea

public AutoResizingTextArea(String text)
Creates a textarea with the default minimum and maximum row count and the provided initial text. The textarea is sized to fit the provided text.

Parameters:
text - The initial text to display.

AutoResizingTextArea

public AutoResizingTextArea(int minRows,
                            int maxRows,
                            int columns)
Create a new AutoResizingTextArea with a height bounded by the provided minimum and maximum row counts and with its width dictated by the provided column count.

Parameters:
minRows - The minimum number of rows that this textarea can have
maxRows - The maximum number of rows that this textarea can have.
columns - The number of columns that this textarea has.

AutoResizingTextArea

public AutoResizingTextArea(String text,
                            int minRows,
                            int maxRows,
                            int columns)
Create a new AutoResizingTextArea with a height bounded by the provided minimum and maximum row counts and with its width dictated by the provided column count. The textarea is sized to fit the provided text.

Parameters:
text - The initial text to display in the textarea.
minRows - The minimum number of rows that this textarea can have
maxRows - The maximum number of rows that this textarea can have.
columns - The number of columns that this textarea has.
Throws:
IllegalArgumentException - if the rows or columns arguments are negative.

AutoResizingTextArea

public AutoResizingTextArea(Document doc)
Create a new AutoResizingTextArea using a Document. The document will be set to the text area using setDocument(javax.swing.text.Document).

Parameters:
doc - the document.

AutoResizingTextArea

public AutoResizingTextArea(Document doc,
                            String text,
                            int minRows,
                            int maxRows,
                            int columns)
Constructs a new AutoResizingTextArea 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, or create a default one if null
text - the text to be displayed, null if none
minRows - the minimum number of rows >= 0
maxRows - the maximum number of rows >= 0
columns - the number of columns >= 0
Throws:
IllegalArgumentException - if the rows or columns arguments are negative.
Method Detail

setRows

public void setRows(int rows)
Sets the number of visible rows. The row value will be forced to the boundaries of the range [minRows ... maxRows] if it is outside that range.

Overrides:
setRows in class JTextArea
Parameters:
rows - The number of rows to show

numberOfRowsUpdated

protected void numberOfRowsUpdated(int oldRow,
                                   int newRow)
Called when the number of rows is updated. By default, it will get the parent scroll pane and call revalidate. Subclass can override it to customize the behavior when number of rows is updated.

Parameters:
oldRow - the previous row count.
newRow - the new row count.

getMaxRows

public int getMaxRows()
Gets the maximum number of rows that will be displayed. You can set it using setMaxRows(int) or passed in using constructor such as AutoResizingTextArea(int, int).

Returns:
the maximum number of rows that will be displayed.

setMaxRows

public void setMaxRows(int maxRows)
Sets the maximum number of rows that will be displayed.

Parameters:
maxRows - The maximum number of rows.

getMinRows

public int getMinRows()
Gets the minimum number of rows that will be displayed. You can set it using setMinRows(int) or passed in using constructor such as AutoResizingTextArea(int, int).

Returns:
the minimum number of rows that will be displayed.

setMinRows

public void setMinRows(int minRows)
Sets the minimum number of rows that will be displayed

Parameters:
minRows - The minimum number of rows.

setDocument

public void setDocument(Document doc)
Overrides:
setDocument in class JTextComponent

getPreferredScrollableViewportSize

public Dimension getPreferredScrollableViewportSize()
Specified by:
getPreferredScrollableViewportSize in interface Scrollable
Overrides:
getPreferredScrollableViewportSize in class JTextArea

JIDE 3.5.15