uitextarea
テキスト エリア コンポーネントの作成
説明
は、テキスト エリアを新しい Figure ウィンドウ内に作成し、txa
= uitextareaTextArea
オブジェクトを返します。MATLAB® は関数 uifigure
を呼び出してこの Figure を作成します。
は、1 つ以上の名前と値の引数を使用して、txa
= uitextarea(___,Name,Value
)TextArea
プロパティを指定します。たとえば、uitextarea("Value","Comments")
はテキスト Comments
を表示するテキスト エリアを作成します。このオプションは、前述の構文のすべての入力引数の組み合わせで使用できます。
例
テキスト エリアの作成
プレースホルダー テキストをもつテキスト エリアの作成
UI Figure にテキスト エリアを作成します。必要な入力について説明するプレースホルダー テキストを指定します。プレースホルダー テキストはテキスト エリアが空の場合にのみ表示されます。
fig = uifigure; txa = uitextarea(fig,"Placeholder","Enter feedback");
テキスト エリアのプロパティの設定とアクセス
UI Figure に入力済みのテキスト エリアを作成します。
fig = uifigure; txa = uitextarea(fig, ... "Value",["First Name Last Name"; "Address 1"; ... "Address 2"; "City, State"; "Postal Code"]);
アプリ ユーザーが郵便番号を表示できるように、テキスト エリアにはスクロール バーが含まれています。
Position
プロパティの 3 番目と 4 番目の値をクエリして、テキスト エリアの現在の幅と高さを判別します。
size = txa.Position(3:4)
size = 1×2
150 60
スクロール バーを使用せずにすべての内容が表示されるように、テキスト エリアのサイズを大きくします。
txa.Position(3:4) = [155 80];
テキスト エリアのプログラムでのスクロール
テキスト エリアの最下部までプログラムでスクロールします。
テキスト エリアを作成します。サイズと長いテキストを指定します。
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.";
テキスト エリアの最下部までスクロールします。
scroll(txa,"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] ボタンを有効にします。
入力引数
parent
— 親コンテナー
Figure
オブジェクト (既定値) | Tab
オブジェクト | Panel
オブジェクト | ButtonGroup
オブジェクト | GridLayout
オブジェクト
親コンテナー。関数 uifigure
を使用して作成された Figure
オブジェクト、またはその子コンテナー (Tab
、Panel
、ButtonGroup
または GridLayout
) のいずれかとして指定します。親コンテナーを指定しない場合、MATLAB は関数 uifigure
を呼び出し、親コンテナーとして機能する新しい Figure
オブジェクトを作成します。
名前と値の引数
引数のオプションのペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで Name
は引数名で、Value
は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は重要ではありません。
例: uitextarea(Editable="off")
は、アプリ ユーザーによるテキスト エリアのテキストの変更を不可に指定します。
R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name
を引用符で囲みます。
例: uitextarea("Editable","off")
は、アプリ ユーザーによるテキスト エリアのテキストの変更を不可に指定します。
メモ
以下にリストするプロパティは、利用できるプロパティの一部です。完全なリストについては、TextArea のプロパティ を参照してください。
Value
— 値
{''}
(既定値) | 文字ベクトル | string スカラー | 文字ベクトルの cell 配列 | string 配列 | 1 次元の categorical 配列
値。文字ベクトル、string スカラー、文字ベクトルの cell 配列、string 配列、または 1 次元の categorical 配列として指定します。複数行のテキストを表示するには、Value
を配列として指定します。配列の各要素は、テキストの各行を表します。
txt = ["Line 1"; "Line 2"; "Line 3"; "Line 4"]; textarea = uitextarea("Value",txt);
このプロパティを categorical 配列として指定した場合、MATLAB はカテゴリの完全なセットではなく、配列内の値を使用します。
テキストがテキスト エリアの幅に収まらない場合、MATLAB はテキストを折り返します。
行数が多すぎてテキスト エリアに表示できない場合、MATLAB はスクロール バーを追加します。
例: ["Joseph Welford"; "Mary Reilly"; "Roberta Silberlicht"]
ValueChangedFcn
— 値が変更されたときのコールバック
''
(既定値) | 関数ハンドル | cell 配列 | 文字ベクトル
値が変更されたときのコールバック。次の値のいずれかとして指定します。
関数ハンドル。
最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。
有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。
コールバックは、ユーザーがテキストを変更してから Tab キーを押すかテキスト エリアの外部をクリックすると実行されます。Value
プロパティがプログラムにより変更される場合には実行されません。
このコールバック関数は、ユーザーのテキスト エリア操作に関する特定の情報にアクセスできます。MATLAB は、この情報を ValueChangedData
オブジェクトに格納して、2 番目の引数としてコールバック関数に渡します。App Designer では、引数は event
と呼ばれます。ドット表記を使用して、オブジェクトのプロパティをクエリできます。たとえば、event.PreviousValue
はテキスト エリアの直前の値を返します。ValueChangedData
オブジェクトは、文字ベクトルとして指定されているコールバック関数では使用できません。
次の表に、ValueChangedData
オブジェクトのプロパティを示します。
プロパティ | 値 |
---|---|
Value | アプリ ユーザーによる最新操作の後のテキスト エリアの値 |
PreviousValue | アプリ ユーザーによる最新操作の前のテキスト エリアの値 |
Source | コールバックを実行するコンポーネント |
EventName | 'ValueChanged' |
コールバックの記述の詳細については、App Designer のコールバックを参照してください。
ValueChangingFcn
— 値が変更中のコールバック
''
(既定値) | 関数ハンドル | cell 配列 | 文字ベクトル
値が変更中のコールバック。次の値のいずれかとして指定します。
関数ハンドル。
最初の要素が関数ハンドルである 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 のコールバックを参照してください。
Position
— テキスト エリアの位置とサイズ
[100 100 150 60]
(既定値) | [left bottom width height]
親を基準にしたテキスト エリアの位置とサイズ。ベクトル [left bottom width height]
として指定します。次の表で、ベクトルの各要素について説明します。
要素 | 説明 |
---|---|
left | 親コンテナーの内側左端からテキスト エリアの外側左端までの距離 |
bottom | 親コンテナーの内側下端からテキスト エリアの外側下端までの距離 |
width | テキスト エリアの外側の右端と左端の間の距離 |
height | テキスト エリアの外側の上端と下端の間の距離 |
すべての測定単位はピクセルです。
Position
の値の基準は、親コンテナーの "描画可能領域" です。描画可能領域は、コンテナーの境界線の内側にある領域で、メニュー バーやタイトルなどの装飾が占める領域は含まれません。
例: [100 100 100 90]
バージョン履歴
R2016a で導入R2021b: ユーザー入力に際しての応答のプログラム
ValueChangingFcn
コールバックを作成し、ユーザーがテキスト エリアに入力しているとアプリが応答するようにプログラムします。コールバック関数は、ユーザーが入力する間、繰り返し実行されます。
R2021a: プレースホルダー テキストの指定
Placeholder
プロパティを使用して、想定されるテキスト エリアの入力を説明する簡単なヒントを提供します。
詳細については、TextArea のプロパティ を参照してください。
R2020b: テキストの折り返しの切り替え
WordWrap
プロパティを使用して、テキストの折り返しを切り替えます。WordWrap
プロパティが 'on'
(既定) の場合、UI コンポーネントは各行がコンポーネントの水平方向に収まるようにテキストを新しい行に折り返します。プロパティが 'off'
に設定されている場合、テキストは折り返されません。
詳細については、TextArea のプロパティ を参照してください。
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)