public class TextArea extends Component
Modifier and Type | Field and Description |
---|---|
static int |
ANY
Allows any type of input into a text field, if a constraint is not supported
by an underlying implementation this will be the default.
|
static int |
DECIMAL
The user is allowed to enter numeric values with optional decimal
fractions, for example "-123", "0.123", or ".5".
|
static int |
EMAILADDR
The user is allowed to enter an e-mail address.
|
static int |
INITIAL_CAPS_SENTENCE
This flag is a hint to the implementation that during text editing,
the initial letter of each sentence should be capitalized.
|
static int |
INITIAL_CAPS_WORD
This flag is a hint to the implementation that during text editing,
the initial letter of each word should be capitalized.
|
static int |
NON_PREDICTIVE
Indicates that the text entered does not consist of words that are
likely to be found in dictionaries typically used by predictive input
schemes.
|
static int |
NUMERIC
The user is allowed to enter only an integer value.
|
static int |
PASSWORD
Indicates that the text entered is confidential data that should be
obscured whenever possible.
|
static int |
PHONENUMBER
The user is allowed to enter a phone number.
|
static int |
SENSITIVE
Indicates that the text entered is sensitive data that the
implementation must never store into a dictionary or table for use
in predictive, auto-completing, or other accelerated input schemes.
|
static int |
UNEDITABLE
Indicates that editing is currently disallowed.
|
static int |
URL
The user is allowed to enter a URL.
|
BASELINE, BOTTOM, BRB_CENTER_OFFSET, BRB_CONSTANT_ASCENT, BRB_CONSTANT_DESCENT, BRB_OTHER, CENTER, DRAG_REGION_LIKELY_DRAG_X, DRAG_REGION_LIKELY_DRAG_XY, DRAG_REGION_LIKELY_DRAG_Y, DRAG_REGION_NOT_DRAGGABLE, DRAG_REGION_POSSIBLE_DRAG_X, DRAG_REGION_POSSIBLE_DRAG_XY, DRAG_REGION_POSSIBLE_DRAG_Y, LEFT, RIGHT, TOP
Constructor and Description |
---|
TextArea()
Creates an empty text area, this constructor
will create a single line text area similar to a text field!
|
TextArea(int rows,
int columns)
Creates an area with the given rows and columns
|
TextArea(int rows,
int columns,
int constraint)
Creates an area with the given rows, columns and constraint
|
TextArea(String text)
Creates an area with the given text, this constructor
will create a single line text area similar to a text field!
|
TextArea(String text,
int maxSize)
Creates an area with the given text and maximum size, this constructor
will create a single line text area similar to a text field!
|
TextArea(String text,
int rows,
int columns)
Creates an area with the given text, rows and columns
|
TextArea(String text,
int rows,
int columns,
int constraint)
Creates an area with the given text, rows, columns and constraint
|
Modifier and Type | Method and Description |
---|---|
void |
addActionListener(ActionListener a)
Add an action listener which is invoked when the text area was modified not during
modification.
|
static void |
autoDetectWidestChar(String s)
Searches the given string for the widest character using char width, this operation should only
be performed once and it solves cases where a devices language might have a char bigger than 'W'
that isn't consistently bigger.
|
void |
bindProperty(String prop,
BindTarget target)
Binds the given property name to the given bind target
|
protected Dimension |
calcPreferredSize()
Calculates the preferred size based on component content.
|
protected Dimension |
calcScrollSize()
Method that can be overriden to represent the actual size of the component
when it differs from the desireable size for the viewport
|
protected void |
fireClicked()
When working in 3 softbutton mode "fire" key (center softbutton) is sent to this method
in order to allow 3 button devices to work properly.
|
int |
getAbsoluteAlignment()
Deprecated.
this method is redundant and no longer used
|
int |
getActualRows()
Returns the number of actual rows in the text area taking into consideration
growsByContent
|
int |
getAlignment()
Deprecated.
use Style.getAlignment instead
|
String[] |
getBindablePropertyNames()
Returns the names of the properties within this component that can be bound for persistence,
the order of these names mean that the first one will be the first bound
|
Class[] |
getBindablePropertyTypes()
Returns the types of the properties that are bindable within this component
|
Object |
getBoundPropertyValue(String prop)
Allows the binding code to extract the value of the property
|
int |
getColumns()
Returns the number of columns in the text area
|
int |
getConstraint()
Returns the editing constraint value
|
int |
getCursorPosition()
Returns the position of the cursor char position
|
int |
getCursorX()
Returns the position of the cursor char position in the current line.
|
int |
getCursorY()
Returns the position of the cursor line position
|
static int |
getDefaultValign()
Indicates the default vertical alignment for a text field, only applies to single line text fields
|
int |
getGrowLimit()
Indicates the maximum number of rows in a text area after it has grown, -1 indicates no limit
|
String |
getHint()
Returns the hint text
|
Image |
getHintIcon()
Returns the hint icon
|
Label |
getHintLabel()
Returns the hint label component that can be customized directly
|
String |
getInputMode()
Returns the currently selected input mode
|
String[] |
getInputModeOrder()
Returns the order in which input modes are toggled
|
int |
getLines()
Returns the number of text lines in the TextArea
|
int |
getLinesToScroll()
Indicates the number of lines to scroll with every scroll operation
|
int |
getMaxSize()
Returns the maximum size for the text area
|
int |
getRows()
Returns the number of rows in the text area
|
int |
getRowsGap()
Gets the num of pixels gap between the rows
|
String |
getText()
Returns the text in the text area
|
String |
getTextAt(int line)
Returns the text in the given row of the text box
|
String |
getUnsupportedChars()
Unsupported characters is a string that contains characters that cause issues
when rendering on some problematic fonts.
|
int |
getVerticalAlignment()
Returns the vertical alignment of the text field, this only applies to single line text field
|
static char |
getWidestChar()
Indicates the widest character in the alphabet, this is useful for detecting
linebreaks internally.
|
protected void |
initLaf(UIManager uim)
This method initializes the Component defaults constants
|
static boolean |
isAutoDegradeMaxSize()
Indicates whether a high value for default maxSize will be reduced to a lower
value if the underlying platform throws an exception.
|
boolean |
isEditable()
Returns true if this area is editable
|
boolean |
isEnableInputScroll()
Indicates whether text field input should scroll to the right side when no
more room for the input is present.
|
boolean |
isEndsWith3Points()
Simple getter
|
protected boolean |
isEnterKey(int keyCode)
Indicates the enter key to be used for editing the text area and by the
text field
|
boolean |
isGrowByContent()
Indicates that the text area should "grow" in height based on the content beyond the
limits indicate by the rows variable
|
boolean |
isPendingCommit()
Returns true if the text field is waiting for a commit on editing
|
boolean |
isQwertyInput()
True is this is a qwerty device or a device that is currently in
qwerty mode.
|
boolean |
isScrollableY()
Indicates whether the component should/could scroll on the Y axis
|
protected boolean |
isSelectableInteraction()
This method allows a component to indicate that it is interested in an "implicit" select
command to appear in the "fire" button when 3 softbuttons are defined in a device.
|
boolean |
isSingleLineTextArea()
Indicates whether this is a single line text area, in which case "growing" won't
work as expected.
|
static boolean |
isUseStringWidth()
By default text area uses charWidth since its much faster on some devices
than string width.
|
void |
keyPressed(int keyCode)
If this Component is focused, the key pressed event
will call this method
|
void |
keyReleased(int keyCode)
If this Component is focused, the key released event
will call this method
|
void |
paint(Graphics g)
This method paints the Component on the screen, it should be overriden
by subclasses to perform custom drawing or invoke the UI API's to let
the PLAF perform the rendering.
|
void |
pointerHover(int[] x,
int[] y)
Invoked for devices where the pointer can hover without actually clicking
the display.
|
void |
pointerHoverReleased(int[] x,
int[] y)
Invoked for devices where the pointer can hover without actually clicking
the display.
|
void |
pointerReleased(int x,
int y)
If this Component is focused, the pointer released event
will call this method
|
protected char[] |
preprocess(String text)
Override this to modify the text for rendering in cases of invalid characters
for display, this method allows the developer to replace such characters e.g.:
replace "\\t" with 4 spaces
|
void |
removeActionListener(ActionListener a)
Removes an action listener
|
void |
setAlignment(int align)
Deprecated.
use Style.setAlignment instead
|
static void |
setAutoDegradeMaxSize(boolean value)
Indicates whether a high value for default maxSize will be reduced to a lower
value if the underlying platform throws an exception.
|
void |
setBoundPropertyValue(String prop,
Object value)
Sets the value of a bound property within this component, notice that this method MUST NOT fire
the property change event when invoked to prevent recursion!
|
void |
setColumns(int columns)
Sets the number of columns in the text area
|
void |
setConstraint(int constraint)
Sets the constraint
|
static void |
setDefaultMaxSize(int value)
Sets the default limit for the native text box size
|
static void |
setDefaultValign(int aDefaultValign)
Indicates the default vertical alignment for a text field, only applies to single line text fields
|
void |
setEditable(boolean b)
Sets this text area to be editable or readonly
|
void |
setEndsWith3Points(boolean endsWith3Points)
If the TextArea text is too long to fit the text to the widget add "..."
points at the last displayable row.
|
void |
setGrowByContent(boolean growByContent)
Indicates that the text area should "grow" in height based on the content beyond the
limits indicate by the rows variable
|
void |
setGrowLimit(int growLimit)
Indicates the maximum number of rows in a text area after it has grown, -1 indicates no limit
|
void |
setHint(String hint)
Sets the TextArea hint text, the hint text is displayed on the TextArea
When there is no text in the TextArea
|
void |
setHint(String hint,
Image icon)
Sets the TextArea hint text and Icon, the hint text and icon are
displayed on the TextArea when there is no text in the TextArea
|
void |
setHintIcon(Image icon)
Sets the TextArea hint icon, the hint is displayed on the TextArea
When there is no text in the TextArea
|
void |
setLinesToScroll(int linesToScroll)
Indicates the number of lines to scroll with every scroll operation
|
void |
setMaxSize(int maxSize)
Sets the maximum size of the text area
|
void |
setRows(int rows)
Sets the number of rows in the text area
|
void |
setRowsGap(int rowsGap)
The gap in pixels between rows
|
void |
setSingleLineTextArea(boolean singleLineTextArea)
Indicates whether this is a single line text area, in which case "growing" won't
work as expected.
|
void |
setText(String t)
Sets the text within this text area
|
void |
setUnsupportedChars(String unsupportedChars)
Unsupported characters is a string that contains characters that cause issues
when rendering on some problematic fonts.
|
static void |
setUseStringWidth(boolean aUseStringWidth)
By default text area uses charWidth since its much faster on some devices
than string width.
|
void |
setVerticalAlignment(int valign)
Sets the vertical alignment of the text field to one of: CENTER, TOP, BOTTOM
only applies to single line text field |
static void |
setWidestChar(char widestC)
Indicates the widest character in the alphabet, this is useful for detecting
linebreaks internally.
|
void |
setWidth(int width)
Sets the Component width, this method is exposed for the purpose of
external layout managers and should not be invoked directly.
If a user wishes to effect the component size setPreferredSize should be used. |
void |
unbindProperty(String prop,
BindTarget target)
Removes a bind target from the given property name
|
addDragOverListener, addDropListener, addFocusListener, addPointerDraggedListener, addPointerPressedListener, addPointerReleasedListener, addPullToRefresh, addScrollListener, animate, cancelRepaints, clearClientProperties, contains, deinitialize, deinitializeCustomStyle, dragEnter, dragExit, draggingOver, dragInitiated, drawDraggedImage, drop, focusGained, focusLost, getAbsoluteX, getAbsoluteY, getBaseline, getBaselineResizeBehavior, getBorder, getBottomGap, getBounds, getClientProperty, getCloudBoundProperty, getCloudDestinationProperty, getComponentForm, getComponentState, getDirtyRegion, getDisabledStyle, getDraggedx, getDraggedy, getDragImage, getDragRegionStatus, getDragSpeed, getGridPosX, getGridPosY, getHeight, getLabelForComponent, getName, getNextFocusDown, getNextFocusLeft, getNextFocusRight, getNextFocusUp, getParent, getPreferredH, getPreferredSize, getPreferredW, getPressedStyle, getPropertyNames, getPropertyTypeNames, getPropertyTypes, getPropertyValue, getSameHeight, getSameWidth, getScrollable, getScrollAnimationSpeed, getScrollDimension, getScrollOpacity, getScrollOpacityChangeSpeed, getScrollX, getScrollY, getSelectCommandText, getSelectedRect, getSelectedStyle, getSideGap, getStyle, getTensileLength, getUIID, getUIManager, getUnselectedStyle, getVisibleBounds, getWidth, getX, getY, growShrink, handlesInput, hasFocus, initComponent, initCustomStyle, installDefaultPainter, isAlwaysTensile, isCellRenderer, isDragActivated, isDragAndDropOperation, isDraggable, isDragRegion, isDropTarget, isEnabled, isFlatten, isFocusable, isGrabsPointerEvents, isHideInPortrait, isInClippingRegion, isInitialized, isRTL, isScrollable, isScrollableX, isScrollVisible, isSmoothScrolling, isSnapToGrid, isStickyDrag, isTactileTouch, isTactileTouch, isTensileDragEnabled, isVisible, keyRepeated, laidOut, longKeyPress, longPointerPress, onScrollX, onScrollY, paintBackground, paintBackgrounds, paintBorder, paintComponent, paintComponent, paintLock, paintLockRelease, paintScrollbars, paintScrollbarX, paintScrollbarY, paramString, pinch, pointerDragged, pointerDragged, pointerHoverPressed, pointerPressed, pointerPressed, pointerReleased, putClientProperty, refreshTheme, refreshTheme, refreshTheme, removeDragOverListener, removeDropListener, removeFocusListener, removePointerDraggedListener, removePointerPressedListener, removePointerReleasedListener, removeScrollListener, repaint, repaint, requestFocus, resetFocusable, scrollRectToVisible, scrollRectToVisible, setAlwaysTensile, setCellRenderer, setCloudBoundProperty, setCloudDestinationProperty, setComponentState, setDirtyRegion, setDisabledStyle, setDraggable, setDropTarget, setEnabled, setFlatten, setFocus, setFocusable, setGrabsPointerEvents, setHandlesInput, setHeight, setHideInPortrait, setInitialized, setIsScrollVisible, setLabelForComponent, setName, setNextFocusDown, setNextFocusLeft, setNextFocusRight, setNextFocusUp, setPreferredH, setPreferredSize, setPreferredW, setPressedStyle, setPropertyValue, setRTL, setSameHeight, setSameWidth, setScrollAnimationSpeed, setScrollOpacityChangeSpeed, setScrollSize, setScrollVisible, setScrollX, setScrollY, setSelectCommandText, setSelectedStyle, setShouldCalcPreferredSize, setSize, setSmoothScrolling, setSnapToGrid, setTactileTouch, setTensileDragEnabled, setTensileLength, setUIID, setUnselectedStyle, setVisible, setX, setY, shouldBlockSideSwipe, styleChanged, toString
public static final int ANY
public static final int EMAILADDR
public static final int NUMERIC
public static final int PHONENUMBER
public static final int URL
public static final int DECIMAL
public static final int PASSWORD
public static final int UNEDITABLE
public static final int SENSITIVE
public static final int NON_PREDICTIVE
public static final int INITIAL_CAPS_WORD
public static final int INITIAL_CAPS_SENTENCE
public TextArea(int rows, int columns)
rows
- the number of rowscolumns
- - the number of columnsIllegalArgumentException
- if rows <= 0 or columns <= 1public TextArea(int rows, int columns, int constraint)
rows
- the number of rowscolumns
- - the number of columnsconstraint
- one of ANY, EMAILADDR, NUMERIC, PHONENUMBER, URL, DECIMAL
it can be bitwised or'd with one of PASSWORD, UNEDITABLE, SENSITIVE, NON_PREDICTIVE,
INITIAL_CAPS_SENTENCE, INITIAL_CAPS_WORD. E.g. ANY | PASSWORD.IllegalArgumentException
- if rows <= 0 or columns <= 1public TextArea(String text, int rows, int columns)
text
- the text to be displayed; if text is null, the empty
string "" will be displayedrows
- the number of rowscolumns
- - the number of columnsIllegalArgumentException
- if rows <= 0 or columns <= 1public TextArea(String text, int rows, int columns, int constraint)
text
- the text to be displayed; if text is null, the empty
string "" will be displayedrows
- the number of rowscolumns
- - the number of columnsconstraint
- one of ANY, EMAILADDR, NUMERIC, PHONENUMBER, URL, DECIMAL
it can be bitwised or'd with one of PASSWORD, UNEDITABLE, SENSITIVE, NON_PREDICTIVE,
INITIAL_CAPS_SENTENCE, INITIAL_CAPS_WORD. E.g. ANY | PASSWORD.IllegalArgumentException
- if rows <= 0 or columns <= 1public TextArea(String text, int maxSize)
text
- the text to be displayed; if text is null, the empty
string "" will be displayedmaxSize
- text area maximum sizepublic TextArea(String text)
text
- the text to be displayed; if text is null, the empty
string "" will be displayedpublic TextArea()
public static int getDefaultValign()
public static void setDefaultValign(int aDefaultValign)
aDefaultValign
- the defaultValign to setprotected void initLaf(UIManager uim)
Component
public void setConstraint(int constraint)
constraint
- one of ANY, EMAILADDR, NUMERIC, PHONENUMBER, URL, DECIMAL
it can be bitwised or'd with one of PASSWORD, UNEDITABLE, SENSITIVE, NON_PREDICTIVE,
INITIAL_CAPS_SENTENCE, INITIAL_CAPS_WORD. E.g. ANY | PASSWORD.public int getConstraint()
setConstraint(int)
public void setWidth(int width)
Component
setWidth
in class Component
width
- the width of the componentComponent.setPreferredSize(com.codename1.ui.geom.Dimension)
public void setText(String t)
t
- new value for the text areapublic String getText()
public boolean isEditable()
public void setEditable(boolean b)
b
- true is text are is editable; otherwise falsepublic int getMaxSize()
public void setMaxSize(int maxSize)
maxSize
- the maximum size of the text areapublic void keyPressed(int keyCode)
Component
keyPressed
in class Component
keyCode
- the key code value to indicate a physical key.protected void fireClicked()
Component
fireClicked
in class Component
protected boolean isSelectableInteraction()
Component
isSelectableInteraction
in class Component
public void keyReleased(int keyCode)
Component
keyReleased
in class Component
keyCode
- the key code value to indicate a physical key.public boolean isScrollableY()
Component
isScrollableY
in class Component
public void pointerHover(int[] x, int[] y)
Component
pointerHover
in class Component
x
- the pointer x coordinatey
- the pointer y coordinatepublic void pointerHoverReleased(int[] x, int[] y)
Component
pointerHoverReleased
in class Component
x
- the pointer x coordinatey
- the pointer y coordinatepublic void pointerReleased(int x, int y)
Component
pointerReleased
in class Component
x
- the pointer x coordinatey
- the pointer y coordinatepublic int getColumns()
public int getActualRows()
public int getRows()
public void setColumns(int columns)
columns
- number of columnspublic void setRows(int rows)
rows
- number of rowspublic int getLines()
public String getTextAt(int line)
line
- the line number in the text boxprotected char[] preprocess(String text)
text
- the text to processpublic int getRowsGap()
public void setRowsGap(int rowsGap)
rowsGap
- num of pixels to gap between rowspublic void paint(Graphics g)
Component
protected Dimension calcPreferredSize()
Component
calcPreferredSize
in class Component
protected Dimension calcScrollSize()
Component
calcScrollSize
in class Component
public void addActionListener(ActionListener a)
a
- actionListenerpublic void removeActionListener(ActionListener a)
a
- actionListenerpublic static void setDefaultMaxSize(int value)
value
- default value for the size of the native text boxpublic boolean isGrowByContent()
public void setGrowByContent(boolean growByContent)
growByContent
- true if the text component should grow and false otherwisepublic static void setAutoDegradeMaxSize(boolean value)
value
- new value for autoDegradeMaxSizepublic static boolean isAutoDegradeMaxSize()
public String getUnsupportedChars()
public void setUnsupportedChars(String unsupportedChars)
unsupportedChars
- the unsupported character stringpublic int getLinesToScroll()
public void setLinesToScroll(int linesToScroll)
linesToScroll
- number bigger or equal to 1public static void setWidestChar(char widestC)
widestC
- the widest characterpublic static char getWidestChar()
public void setSingleLineTextArea(boolean singleLineTextArea)
singleLineTextArea
- set to true to force a single line textpublic boolean isSingleLineTextArea()
public void setAlignment(int align)
align
- alignment valueComponent.CENTER
,
Component.LEFT
,
Component.RIGHT
public int getAlignment()
Component.CENTER
,
Component.LEFT
,
Component.RIGHT
public int getAbsoluteAlignment()
Component.CENTER
,
Component.LEFT
,
Component.RIGHT
public boolean isPendingCommit()
public int getCursorPosition()
public int getCursorY()
public int getCursorX()
public boolean isQwertyInput()
public String getInputMode()
public String[] getInputModeOrder()
public boolean isEnableInputScroll()
protected boolean isEnterKey(int keyCode)
keyCode
- the key testedpublic static void autoDetectWidestChar(String s)
s
- string to search using charWidthpublic static boolean isUseStringWidth()
public static void setUseStringWidth(boolean aUseStringWidth)
aUseStringWidth
- the new value for useStringWidthpublic void setHint(String hint)
hint
- the hint text to displaypublic String getHint()
public void setHintIcon(Image icon)
icon
- the iconpublic Image getHintIcon()
public void setHint(String hint, Image icon)
hint
- the hint text to displayicon
- the hint icon to displaypublic Label getHintLabel()
public void setVerticalAlignment(int valign)
valign
- alignment valueComponent.CENTER
,
Component.TOP
,
Component.BOTTOM
public int getVerticalAlignment()
Component.CENTER
,
Component.TOP
,
Component.BOTTOM
public String[] getBindablePropertyNames()
Component
getBindablePropertyNames
in class Component
public Class[] getBindablePropertyTypes()
Component
getBindablePropertyTypes
in class Component
public void bindProperty(String prop, BindTarget target)
Component
bindProperty
in class Component
prop
- the property nametarget
- the target binderpublic void unbindProperty(String prop, BindTarget target)
Component
unbindProperty
in class Component
prop
- the property namestarget
- the target binderpublic Object getBoundPropertyValue(String prop)
Component
getBoundPropertyValue
in class Component
prop
- the propertypublic void setBoundPropertyValue(String prop, Object value)
Component
setBoundPropertyValue
in class Component
prop
- the property whose value should be setvalue
- the valuepublic int getGrowLimit()
public void setGrowLimit(int growLimit)
growLimit
- the growLimit to setpublic void setEndsWith3Points(boolean endsWith3Points)
endsWith3Points
- true if text should add "..." at the endpublic boolean isEndsWith3Points()