Documentation

This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

uitextarea

(App Designer) Create text area component

Use only with App Designer or figures created with the uifigure function. When using GUIDE or the figure function, create a text area using uicontrol.

Syntax

txa = uitextarea
txa = uitextarea(parent)
txa = uitextarea(___,Name,Value)

Description

txa = uitextarea creates a text area in a new UI figure window and returns the TextArea object.

example

txa = uitextarea(parent) creates the text area in the specified parent container. The parent container can be a Figure created using the uifigure function, or one of its child containers: Tab, Panel, or ButtonGroup.

example

txa = uitextarea(___,Name,Value) specifies TextArea properties using one or more Name,Value pair arguments. Use this option with any of the input argument combinations in the previous syntaxes.

Input Arguments

collapse all

Parent object, specified as a Figure created using the uifigure function, or one of its child containers: Tab, Panel, or ButtonGroup.

Name-Value Pair Arguments

Specify optional comma-separated pairs of Name,Value arguments. Name is the argument name and Value is the corresponding value. Name must appear inside single quotes (' '). You can specify several name and value pair arguments in any order as Name1,Value1,...,NameN,ValueN.

Example: 'Editable','off' specifies that the app user cannot change the text area text.

The properties listed here are a subset of the available properties. For the full list, see .TextArea Properties.

collapse all

Text in text area, specified as a cell array of character vectors. MATLAB® can properly render formatted text, such as this:

cellArrayText{1} = sprintf('%s\n%s', 'Line 1', 'Line 2')
cellArrayText{2} = sprintf('%s\n%s', 'Line 3', 'Line 4')
textarea = uitextarea('Value',cellArrayText);

If a row of text in the cell array does not fit into the width of the text area, MATLAB wraps the text.

If there are too many rows to display in the text area size, MATLAB adds a scroll bar.

Example: {'Joseph Welford'; 'Mary Reilly'; 'Roberta Silberlicht'}

Code to execute after the text update, specified as one of these values:

  • Function handle

  • Cell array containing a function handle and additional arguments

  • Character vector that is a valid MATLAB expression, which is evaluated in the base workspace.

The callback executes when the app user changes the text and either presses Tab or clicks outside the text area.

This callback function can access specific information about the user’s interaction with the text area. MATLAB passes this information in a ValueChangedData object as the second argument to your callback function. In App Designer, the argument is called event. You can query the object properties using dot notation. For example, event.PreviousValue returns the previous value of the text area. The ValueChangedData object is not available to callback functions specified as character vectors.

The following table lists the properties of the ValueChangedData object.

PropertyValue
ValueValue of text area after app user’s most recent interaction with it
PreviousValueValue of text area before app user’s most recent interaction with it
SourceComponent that executes the callback
EventName'ValueChanged'

The ValueChangedFcn callback does not execute if the text area value changes programmatically.

Location and size of the text area relative to the parent, specified as the vector [left bottom width height]. This table describes each element in the vector.

ElementDescription
leftDistance from the inner left edge of the parent container to the outer left edge of the text area
bottomDistance from the inner bottom edge of the parent container to the outer bottom edge of the text area
widthDistance between the right and left outer edges of the text area
heightDistance between the top and bottom outer edges of the text area

All measurements are in pixel units.

The Position values are relative to the drawable area of the parent container. The drawable area is the area inside the borders of the container and does not include the area occupied by decorations such as a menu bar or title.

Example: [100 100 100 90]

Examples

collapse all

fig = uifigure;
txa = uitextarea(fig);

Create a populated text area.

fig = uifigure;
txa = uitextarea(fig,...
                'Value', {'First Name Last Name';...
                'Address 1'; 'Address 2';'City, State'; 'Postal Code'});

Notice that the text area includes a scroll bar so that the app user can view the postal code.

Determine the current size of the text area.

size = txa.Position(3:4)
size =

   150    60

Increase the text area size so that the postal code displays without the use of a scroll bar.

txa.Position(3:4) = [155 75];

Create a text area and two labels. When an app user types text and clicks outside the text area, a label thanks the app user for the input. If the app user removes the text and clicks outside the text area, the thank you text is removed.

Save the following code to comments.m on your MATLAB path. This code creates a UI figure window containing two labels and a text area. When an app user types text and clicks outside the text area, the ValueChangedFcn callback updates one of the labels to thank the user.

function comments
% Create UI figure window and components

fig = uifigure('Position',[100 100 429 276]);

label1 = uilabel(fig,...
    'Position',[100 164 100 15],...
    'Text','Enter Comments:');

label2 = uilabel(fig,...
    'Position',[100 75 175 15],...
    'Text','');

textarea = uitextarea(fig,...
    'Position',[100 100 150 60],...
    'ValueChangedFcn',@(textarea,event) textEntered(textarea, label2));

% Create ValueChangedFcn callback
    function textEntered(textarea,label2)
        val = textarea.Value;
        label2.Text = '';
        % Check each element of text area cell array for text
        for k = 1:length(val)
            if(~isempty(val{k}))
                label2.Text = 'Thank you for your comments!';
                break;
            end
        end
    end
end

Run comments, and type text in the text area field. Click outside the text area to trigger the callback.

See Also

Functions

Properties

Introduced in R2016a

Was this topic helpful?