Main Content

uitextarea

テキスト エリア コンポーネントの作成

説明

txa = uitextarea は、テキスト エリアを新しい Figure ウィンドウ内に作成し、TextArea オブジェクトを返します。MATLAB® は関数 uifigure を呼び出してこの Figure を作成します。

txa = uitextarea(parent) は、指定された親コンテナー内にテキスト エリアを作成します。親には、関数 uifigure を使用して作成された Figure オブジェクトか、またはその子コンテナーのいずれかを指定できます。

txa = uitextarea(___,Name,Value) は、1 つ以上の名前と値の引数を使用して、TextArea プロパティを指定します。たとえば、uitextarea("Value","Comments") はテキスト Comments を表示するテキスト エリアを作成します。このオプションは、前述の構文のすべての入力引数の組み合わせで使用できます。

すべて折りたたむ

UI Figure にテキスト エリアを作成します。

fig = uifigure;
txa = uitextarea(fig);

Figure contains an object of type uitextarea.

UI Figure にテキスト エリアを作成します。必要な入力について説明するプレースホルダー テキストを指定します。プレースホルダー テキストはテキスト エリアが空の場合にのみ表示されます。

fig = uifigure;
txa = uitextarea(fig,"Placeholder","Enter feedback");

Figure contains an object of type uitextarea.

UI Figure に入力済みのテキスト エリアを作成します。

fig = uifigure;
txa = uitextarea(fig, ...
    "Value",["First Name Last Name"; "Address 1"; ...
    "Address 2"; "City, State"; "Postal Code"]);

Figure contains an object of type uitextarea.

アプリ ユーザーが郵便番号を表示できるように、テキスト エリアにはスクロール バーが含まれています。

Position プロパティの 3 番目と 4 番目の値をクエリして、テキスト エリアの現在の幅と高さを判別します。

size = txa.Position(3:4)
size = 1×2

   150    60

スクロール バーを使用せずにすべての内容が表示されるように、テキスト エリアのサイズを大きくします。

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

Figure contains an object of type uitextarea.

テキスト エリアの最下部までプログラムでスクロールします。

テキスト エリアを作成します。サイズと長いテキストを指定します。

fig = uifigure;
txa = uitextarea(fig);
txa.Position = [100 100 80 80];
txa.Value = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor.";

Text area in a UI figure window. The text area is vertically scrollable.

テキスト エリアの最下部までスクロールします。

scroll(txa,"bottom")

Text area in a UI figure window. The text area is scrolled to the bottom.

アプリ ユーザーがテキスト エリアにテキストを入力したときにボタンを有効にするアプリを作成します。

textAreaApp.m という名前のファイルで、アプリを実装する関数を作成します。

  • UI Figure およびグリッド レイアウト マネージャーを作成してアプリをレイアウトします。

  • グリッド レイアウト マネージャーでラベル、テキスト エリア、およびボタンを作成します。

  • テキスト エリアにテキストが含まれているときにボタンを有効にする textEntered という名前のコールバック関数を作成し、その関数をテキスト エリアの ValueChangedFcn コールバック プロパティに割り当てます。コールバックの詳細については、プログラムで作成したアプリ用のコールバックの作成を参照してください。

function textAreaApp
fig = uifigure;
g = uigridlayout(fig,[3 3]);
g.RowHeight = {'fit','fit','fit'};
g.ColumnWidth = {'1x','fit','1x'};

lbl = uilabel(g,"Text","Enter Comments:");
lbl.Layout.Row = 1;
lbl.Layout.Column = 2;
txa = uitextarea(g);
txa.Layout.Row = 2;
txa.Layout.Column = 2;
btn = uibutton(g,"Text","Submit","Enable","off");
btn.Layout.Row = 3;
btn.Layout.Column = 2;

txa.ValueChangedFcn = @(src,event) textEntered(src,event,btn);
end

function textEntered(src,event,btn)
val = src.Value;
btn.Enable = "off";
% Check each element of text area cell array for text
for k = 1:length(val)
    if ~isempty(val{k})
        btn.Enable = "on";
        break
    end
end
end

関数 textAreaApp を実行します。テキスト エリアにテキストを入力してから、テキスト エリアの外部をクリックして、[Submit] ボタンを有効にします。

Label, text area, and button in a UI figure window. At the top is a label with text "Enter Comments:". Below is a text area with text "Great app!". At the bottom is a Submit button.

入力引数

すべて折りたたむ

親コンテナー。関数 uifigure を使用して作成された Figure オブジェクト、またはその子コンテナー (TabPanelButtonGroup または GridLayout) のいずれかとして指定します。親コンテナーを指定しない場合、MATLAB は関数 uifigure を呼び出し、親コンテナーとして機能する新しい Figure オブジェクトを作成します。

名前と値の引数

引数のオプションのペアを Name1=Value1,...,NameN=ValueN として指定します。ここで Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は重要ではありません。

例: uitextarea(Editable="off") は、アプリ ユーザーによるテキスト エリアのテキストの変更を不可に指定します。

R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name を引用符で囲みます。

例: uitextarea("Editable","off") は、アプリ ユーザーによるテキスト エリアのテキストの変更を不可に指定します。

メモ

以下にリストするプロパティは、利用できるプロパティの一部です。完全なリストについては、TextArea のプロパティ を参照してください。

値。文字ベクトル、string スカラー、文字ベクトルの cell 配列、string 配列、または 1 次元の categorical 配列として指定します。複数行のテキストを表示するには、Value を配列として指定します。配列の各要素は、テキストの各行を表します。

txt = ["Line 1"; "Line 2"; "Line 3"; "Line 4"];
textarea = uitextarea("Value",txt);

Text area with four lines of text labeled Line 1 through Line 4

このプロパティを categorical 配列として指定した場合、MATLAB はカテゴリの完全なセットではなく、配列内の値を使用します。

テキストがテキスト エリアの幅に収まらない場合、MATLAB はテキストを折り返します。

行数が多すぎてテキスト エリアに表示できない場合、MATLAB はスクロール バーを追加します。

例: ["Joseph Welford"; "Mary Reilly"; "Roberta Silberlicht"]

値が変更されたときのコールバック。次の値のいずれかとして指定します。

  • 関数ハンドル。

  • 最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。

  • 有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。

コールバックは、ユーザーがテキストを変更してから Tab キーを押すかテキスト エリアの外部をクリックすると実行されます。Value プロパティがプログラムにより変更される場合には実行されません。

このコールバック関数は、ユーザーのテキスト エリア操作に関する特定の情報にアクセスできます。MATLAB は、この情報を ValueChangedData オブジェクトに格納して、2 番目の引数としてコールバック関数に渡します。App Designer では、引数は event と呼ばれます。ドット表記を使用して、オブジェクトのプロパティをクエリできます。たとえば、event.PreviousValue はテキスト エリアの直前の値を返します。ValueChangedData オブジェクトは、文字ベクトルとして指定されているコールバック関数では使用できません。

次の表に、ValueChangedData オブジェクトのプロパティを示します。

プロパティ
Valueアプリ ユーザーによる最新操作の後のテキスト エリアの値
PreviousValueアプリ ユーザーによる最新操作の前のテキスト エリアの値
Sourceコールバックを実行するコンポーネント
EventName'ValueChanged'

コールバックの記述の詳細については、App Designer のコールバックを参照してください。

値が変更中のコールバック。次の値のいずれかとして指定します。

  • 関数ハンドル。

  • 最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。

  • 有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。

このコールバックは次のように実行されます。

  • ユーザーがテキスト エリアに入力する間、コールバックは繰り返し実行されます。

  • ユーザーが Tab キーを押すかテキスト エリアの外部をクリックすると、コールバックが実行されます。

テキスト エリアの値がプログラムによって変更された場合、コールバックは実行されません。

このコールバック関数は、ユーザーのテキスト エリア操作に関する特定の情報にアクセスできます。MATLAB は、この情報を ValueChangingData オブジェクトに格納して、2 番目の引数としてコールバック関数に渡します。App Designer では、引数は event と呼ばれます。ドット表記を使用して、オブジェクトのプロパティをクエリできます。たとえば、event.Value は、コールバックの実行をトリガーしたテキスト エリア内の値です。ValueChangingData オブジェクトは、文字ベクトルとして指定されているコールバック関数では使用できません。

ValueChangingData オブジェクトのプロパティは次のようになります。

プロパティ説明
Valueコールバックの実行をトリガーした値
Sourceコールバックを実行するコンポーネント
EventName'ValueChanging'

TextArea オブジェクトの Value プロパティは、ユーザーが Tab キーを押すかテキスト エリアの外部をクリックするまで更新されません。ただし、ValueChangingData オブジェクトの Value プロパティをクエリすることで、ユーザーによる入力中もテキストを取得できます。

メモ

TextArea オブジェクトの Value プロパティをそれ自体の ValueChangingFcn コールバック内から更新しないでください。予期しない動作を引き起こす可能性があります。ユーザー入力に応じてテキスト エリアの値を更新するには、代わりに ValueChangedFcn コールバックを使用します。

コールバックの記述の詳細については、App Designer のコールバックを参照してください。

親を基準にしたテキスト エリアの位置とサイズ。ベクトル [left bottom width height] として指定します。次の表で、ベクトルの各要素について説明します。

要素説明
left親コンテナーの内側左端からテキスト エリアの外側左端までの距離
bottom親コンテナーの内側下端からテキスト エリアの外側下端までの距離
widthテキスト エリアの外側の右端と左端の間の距離
heightテキスト エリアの外側の上端と下端の間の距離

すべての測定単位はピクセルです。

Position の値の基準は、親コンテナーの "描画可能領域" です。描画可能領域は、コンテナーの境界線の内側にある領域で、メニュー バーやタイトルなどの装飾が占める領域は含まれません。

例: [100 100 100 90]

バージョン履歴

R2016a で導入

すべて展開する

参考

関数

プロパティ

ツール