summaryrefslogtreecommitdiffstats
path: root/documentation/components/components-textarea.asciidoc
blob: bf5288ec5c42e0d24e55c70971a61b9201c12196 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
---
title: TextArea
order: 10
layout: page
---

[[components.textarea]]
= [classname]#TextArea#

ifdef::web[]
[.sampler]
image:{live-demo-image}[alt="Live Demo", link="http://demo.vaadin.com/sampler/#ui/data-input/text-input/text-area"]
endif::web[]

[classname]#TextArea# is a multi-line version of the [classname]#TextField#
component described in
<<dummy/../../../framework/components/components-textfield#components.textfield,"TextField">>.

The following example creates a simple text area:


[source, java]
----
// Create the area
TextArea area = new TextArea("Big Area");
        
// Put some content in it
area.setValue("A row\n"+
              "Another row\n"+
              "Yet another row");
----
See the http://demo.vaadin.com/book-examples-vaadin7/book#component.textarea.basic[on-line example, window="_blank"].

The result is shown in <<figure.components.textarea>>.

[[figure.components.textarea]]
.[classname]#TextArea# Example
image::img/textarea-basic.png[]

You can set the number of visible rows with [methodname]#setRows()# or use the
regular [methodname]#setHeight()# to define the height in other units. If the
actual number of rows exceeds the number, a vertical scrollbar will appear.
Setting the height with [methodname]#setRows()# leaves space for a horizontal
scrollbar, so the actual number of visible rows may be one higher if the
scrollbar is not visible.

You can set the width with the regular [methodname]#setWidth()# method. Setting
the size with the __em__ unit, which is relative to the used font size, is
recommended.

[[components.textarea.wordwrap]]
== Word Wrap

The [methodname]#setWordwrap()# sets whether long lines are wrapped (
[literal]#++true++# - default) when the line length reaches the width of the
writing area. If the word wrap is disabled ( [literal]#++false++#), a vertical
scrollbar will appear instead. The word wrap is only a visual feature and
wrapping a long line does not insert line break characters in the field value;
shortening a wrapped line will undo the wrapping.


[source, java]
----
TextArea area1 = new TextArea("Wrapping");
area1.setWordwrap(true); // The default
area1.setValue("A quick brown fox jumps over the lazy dog");

TextArea area2 = new TextArea("Nonwrapping");
area2.setWordwrap(false);
area2.setValue("Victor jagt zw&ouml;lf Boxk&auml;mpfer quer "+
               "&uuml;ber den Sylter Deich");
----
See the http://demo.vaadin.com/book-examples-vaadin7/book#component.textarea.wordwrap[on-line example, window="_blank"].

The result is shown in <<figure.components.textarea.wordwrap>>.

[[figure.components.textarea.wordwrap]]
.Word Wrap in [classname]#TextArea#
image::img/textarea-wordwrap.png[]


[[components.textarea.css]]
== CSS Style Rules


[source, css]
----
.v-textarea { }
----

The HTML structure of [classname]#TextArea# is extremely simple, consisting only
of an element with [literal]#++v-textarea++# style.

CSS Styling