メインコンテンツ

EditField

編集フィールド UI コンポーネント

  • Edit field UI component

説明

編集フィールド UI コンポーネントにより、アプリ ユーザーはアプリにテキストを入力できます。EditField オブジェクトを使用して、編集フィールドの作成後に編集フィールドの外観と動作を変更します。

作成

uieditfield 関数を使用してアプリで編集フィールドを作成します。

プロパティ

すべて展開する

テキスト

編集フィールド内のテキスト。文字ベクトルまたは string スカラーとして指定します。MATLAB® ではテキストは単一行として表示されます。複数行のテキストを許可する場合は、編集フィールドの代わりにテキスト エリア コンポーネントを使用します。

例: 'Hello world'

編集フィールドのテキストの最小文字数と最大文字数。2 要素の数値配列として指定します。最初の値は 2 番目の値以下でなければならず、値は両方とも非負でなければなりません。上限を指定しない場合は、2 番目の配列要素を Inf に設定します。

CharacterLimits を変更し、Value の文字数が新しい制限の範囲外になった場合、MATLAB は Value'' にリセットします。たとえば、CharacterLimits[0 5] で、Value'Hello' だとします。CharacterLimits[6 Inf] に変更すると、MATLAB は Value'' に設定します。

0 より大きい下限を指定した場合でも、次のような設定で Value'' になる可能性があります。

  • 編集フィールドが既定値で作成されており、アプリ ユーザーが CharacterLimits の範囲内の有効な値をまだ入力していない。

  • 上記のように、CharacterLimits を変更した後に Value プロパティがリセットされた。

例: [0 3]

例: [5 5]

例: [2 Inf]

有効なテキスト コンテンツ。次の値の 1 つとして指定します。

  • 'text' — 任意のテキストが有効です。

  • 'letters' — テキストはすべて英字で構成されている必要があります。

  • 'digits' — テキストはすべて数字で構成されている必要があります。

  • 'alphanumerics' — テキストはすべて英数字で構成されている必要があります。

編集フィールドのプレースホルダー テキスト。文字ベクトルまたは string スカラーとして指定します。プレースホルダーは、予期される入力を説明する短いヒントを提供します。テキストは、Value プロパティが '' の場合にのみ表示されます。

例: 'Enter text'

編集フィールド内のテキストの配置。'left''right'、または 'center' として指定します。配置は、アプリ ユーザーが編集フィールドを編集するときの表示と、MATLAB がアプリでテキストを表示する方法に影響します。

フォントと色

フォント名。システムでサポートされているフォント名として指定します。既定のフォントは、特定のオペレーティング システムとロケールによって異なります。

指定したフォントが利用できない場合、MATLAB は、アプリが実行中のシステムで利用可能なフォントから最もよく一致するフォントを使用します。

例: 'Arial'

フォント サイズ。正の数値として指定します。測定単位はピクセルです。既定のフォント サイズは、特定のオペレーティング システムとロケールによって異なります。

例: 14

フォントの太さ。次のいずれかの値として指定します。

  • 'normal' — 各フォントで定義されている既定の太さ

  • 'bold''normal' よりも太い文字

すべてのフォントに太字フォントがあるとは限りません。太字がないフォントの場合、'bold' を指定すると標準フォントの太さになります。

フォントの角度。'normal' または 'italic' として指定します。すべてのフォントにイタリックのフォントの角度があるわけではありません。イタリックがないフォントの場合、'italic' を指定すると標準フォントの角度になります。

フォントの色。RGB 3 成分、16 進数カラー コードまたは表にリストされたオプションのいずれかとして指定します。

RGB 3 成分および 16 進数カラー コードは、カスタム色を指定するのに役立ちます。

  • RGB 3 成分は、色の赤、緑、青成分の強度を指定する 3 成分の行ベクトルです。強度値は [0,1] の範囲でなければなりません。たとえば [0.4 0.6 0.7] のようになります。

  • 16 進数カラー コードは、ハッシュ記号 (#) で始まり、3 桁または 6 桁の 0 から F までの範囲の 16 進数が続く文字ベクトルまたは string スカラーです。この値は大文字と小文字を区別しません。したがって、カラー コード "#FF8800""#ff8800""#F80"、および "#f80" は等価です。

あるいは、名前を使用して一部の一般的な色を指定できます。次の表に、名前の付いた色オプション、等価の RGB 3 成分、および 16 進数カラー コードを示します。

色名省略名RGB 3 成分16 進数カラー コード外観
"red""r"[1 0 0]"#FF0000"

Sample of the color red

"green""g"[0 1 0]"#00FF00"

Sample of the color green

"blue""b"[0 0 1]"#0000FF"

Sample of the color blue

"cyan" "c"[0 1 1]"#00FFFF"

Sample of the color cyan

"magenta""m"[1 0 1]"#FF00FF"

Sample of the color magenta

"yellow""y"[1 1 0]"#FFFF00"

Sample of the color yellow

"black""k"[0 0 0]"#000000"

Sample of the color black

"white""w"[1 1 1]"#FFFFFF"

Sample of the color white

次の表に、ライト テーマとダーク テーマでのプロットの既定のカラー パレットを示します。

パレットパレットの色

"gem" — ライト テーマの既定値

R2025a より前: ほとんどのプロットで、これらの色が既定で使用されます。

Sample of the "gem" color palette

"glow" — ダーク テーマの既定値

Sample of the "glow" color palette

orderedcolors 関数と rgb2hex 関数を使用すると、これらのパレットの RGB 3 成分および 16 進数カラー コードを取得できます。たとえば、"gem" パレットの RGB 3 成分を取得し、16 進数カラー コードに変換します。

RGB = orderedcolors("gem");
H = rgb2hex(RGB);

R2023b より前: RGB = get(groot,"FactoryAxesColorOrder") を使用して、RGB 3 成分を取得します。

R2024a より前: H = compose("#%02X%02X%02X",round(RGB*255)) を使用して、16 進数カラー コードを取得します。

背景色。RGB 3 成分、16 進数カラー コード、または表にリストされた色オプションのいずれかとして指定します。

RGB 3 成分および 16 進数カラー コードは、カスタム色を指定するのに役立ちます。

  • RGB 3 成分は、色の赤、緑、青成分の強度を指定する 3 成分の行ベクトルです。強度値は [0,1] の範囲でなければなりません。たとえば [0.4 0.6 0.7] のようになります。

  • 16 進数カラー コードは、ハッシュ記号 (#) で始まり、3 桁または 6 桁の 0 から F までの範囲の 16 進数が続く文字ベクトルまたは string スカラーです。この値は大文字と小文字を区別しません。したがって、カラー コード "#FF8800""#ff8800""#F80"、および "#f80" は等価です。

あるいは、名前を使用して一部の一般的な色を指定できます。次の表に、名前の付いた色オプション、等価の RGB 3 成分、および 16 進数カラー コードを示します。

色名省略名RGB 3 成分16 進数カラー コード外観
"red""r"[1 0 0]"#FF0000"

Sample of the color red

"green""g"[0 1 0]"#00FF00"

Sample of the color green

"blue""b"[0 0 1]"#0000FF"

Sample of the color blue

"cyan" "c"[0 1 1]"#00FFFF"

Sample of the color cyan

"magenta""m"[1 0 1]"#FF00FF"

Sample of the color magenta

"yellow""y"[1 1 0]"#FFFF00"

Sample of the color yellow

"black""k"[0 0 0]"#000000"

Sample of the color black

"white""w"[1 1 1]"#FFFFFF"

Sample of the color white

次の表に、ライト テーマとダーク テーマでのプロットの既定のカラー パレットを示します。

パレットパレットの色

"gem" — ライト テーマの既定値

R2025a より前: ほとんどのプロットで、これらの色が既定で使用されます。

Sample of the "gem" color palette

"glow" — ダーク テーマの既定値

Sample of the "glow" color palette

orderedcolors 関数と rgb2hex 関数を使用すると、これらのパレットの RGB 3 成分および 16 進数カラー コードを取得できます。たとえば、"gem" パレットの RGB 3 成分を取得し、16 進数カラー コードに変換します。

RGB = orderedcolors("gem");
H = rgb2hex(RGB);

R2023b より前: RGB = get(groot,"FactoryAxesColorOrder") を使用して、RGB 3 成分を取得します。

R2024a より前: H = compose("#%02X%02X%02X",round(RGB*255)) を使用して、16 進数カラー コードを取得します。

対話機能

可視性の状態。'on' または 'off' として指定するか、数値または logical の 1 (true) または 0 (false) として指定します。'on' の値は true と等価であり、'off' の値は false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。

  • 'on' — オブジェクトを表示します。

  • 'off' — オブジェクトを削除せずに非表示にします。非表示の UI コンポーネントのプロパティには引き続きアクセスできます。

アプリの起動を高速化するには、起動時に表示する必要のないすべての UI コンポーネントの Visible プロパティを 'off' に設定します。

編集フィールドが編集可能かどうか。'on' または 'off'、もしくは数値または logical 1 (true) または 0 (false) として指定します。'on' の値は true と等価であり、'off' の値は false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は、matlab.lang.OnOffSwitchState 型の on/off の logical 値として保存されます。

このプロパティを Enable プロパティ値と組み合わせて使用して、コンポーネントがアプリ ユーザーの入力に応答するかどうか、またどのように応答するかを決定します。

  • 編集フィールドを編集可能にし、関連するコールバックをトリガー可能にするには、Enable プロパティと Editable プロパティの両方の値を 'on' に設定します。

    Editable edit field. The edit field background is white.

  • 編集フィールドを編集不可にし、テキストを読みやすくするには、Enable プロパティの値を 'on' に設定し、Editable プロパティの値を 'off' に設定します。

    Uneditable edit field. The edit field background is gray.

  • 編集フィールドを編集不可にし、テキストをグレー表示にするには、両方のプロパティを 'off' に設定します。

    Uneditable edit field. The edit field background and text are both dimmed.

編集フィールドの操作可能状態。'on' または 'off'、もしくは数値または logical 1 (true) または 0 (false) として指定します。'on' の値は true と等価であり、'off' の値は false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は、matlab.lang.OnOffSwitchState 型の on/off の logical 値として保存されます。

このプロパティを Editable プロパティ値と組み合わせて使用して、コンポーネントがアプリ ユーザーの入力に応答するかどうか、またどのように応答するかを決定します。

  • 編集フィールドを編集可能にし、関連するコールバックをトリガー可能にするには、Enable プロパティと Editable プロパティの両方の値を 'on' に設定します。

    Editable edit field. The edit field background is white.

  • 編集フィールドを編集不可にし、テキストを読みやすくするには、Enable プロパティの値を 'on' に設定し、Editable プロパティの値を 'off' に設定します。

    Uneditable edit field. The edit field background is gray.

  • 編集フィールドを編集不可にし、テキストをグレー表示にするには、両方のプロパティを 'off' に設定します。

    Uneditable edit field. The edit field background and text are both dimmed.

ツールヒント。文字ベクトル、文字ベクトルの cell 配列、string 配列、または 1 次元の categorical 配列として指定します。このプロパティを使用して、実行時にユーザーがポインターをコンポーネントに合わせるとメッセージが表示されるようにします。コンポーネントが無効になっている場合でも、ツールヒントは表示されます。複数行のテキストを表示するには、文字ベクトルの cell 配列または string 配列を指定します。配列の各要素は、テキストの各行になります。このプロパティを categorical 配列として指定した場合、MATLAB はカテゴリの完全なセットではなく、配列内の値を使用します。

コンテキスト メニュー。関数 uicontextmenu を使用して作成された ContextMenu オブジェクトとして指定します。このプロパティは、コンポーネントを右クリックしたときにコンテキスト メニューを表示するために使用します。

位置

親を基準にした編集フィールドの位置とサイズ。ベクトル [left bottom width height] として指定します。次の表で、ベクトルの各要素について説明します。

要素説明
left親コンテナーの内側左端から編集フィールドの外側左端までの距離
bottom親コンテナーの内側下端から編集フィールドの外側下端までの距離
width編集フィールドの外側の左右の端の間の距離
height編集フィールドの外側の上下の端の間の距離

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

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

例: [150 130 100 22]

編集フィールドの内側の位置とサイズ。[left bottom width height] として指定します。位置の値は、親コンテナーを基準とします。すべての測定単位はピクセルです。このプロパティ値は、Position プロパティと同一です。

この プロパティ は読み取り専用です。

編集フィールドの外側の位置とサイズ。[left bottom width height] として返されます。位置の値は、親コンテナーを基準とします。すべての測定単位はピクセルです。このプロパティ値は、Position プロパティと同一です。

レイアウト オプション。GridLayoutOptions オブジェクトとして指定します。このプロパティは、グリッド レイアウト コンテナーの子であるコンポーネントのオプションを指定します。コンポーネントがグリッド レイアウト コンテナーの子ではない場合 (たとえば、Figure またはパネルの子である場合) は、このプロパティは空で、効果はありません。しかし、コンポーネントがグリッド レイアウト コンテナーの子である場合は、GridLayoutOptions オブジェクトの Row プロパティおよび Column プロパティを設定して、グリッドの目的の行と列にコンポーネントを配置することができます。

たとえば、以下のコードは、編集フィールドをその親グリッドの 3 行目の 2 列目に配置します。

g = uigridlayout([4 3]);
ef = uieditfield(g);
ef.Layout.Row = 3;
ef.Layout.Column = 2;

編集フィールドが複数の行または列にまたがるようにするには、Row または Column プロパティを 2 要素のベクトルとして指定します。たとえば、次の編集フィールドは 2 列目から 3 列目にまたがります。

ef.Layout.Column = [2 3];

コールバック

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

  • 関数ハンドル。

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

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

コールバックは、ユーザーが編集フィールドでテキストを変更してから Enter キーを押すか編集フィールドの外側をクリックすると、実行されます。編集フィールドの値がプログラムにより変更される場合には実行されません。

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

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

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

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

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

  • 関数ハンドル。

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

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

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

  • ユーザーが編集フィールドに入力する間、コールバックは繰り返し実行されます。

  • ユーザーが Enter キーを押すと、コールバックが実行されます。

編集フィールドの値がプログラムによって変更された場合、コールバックは実行されません。

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

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

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

EditField オブジェクトの Value プロパティは、ユーザーが Enter キーを押すまで更新されません。ただし、ValueChangingData オブジェクトの Value プロパティをクエリすることで、ユーザーが Enter キーを押す前に入力しているテキストを取得できます。

メモ

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

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

オブジェクト作成関数。次の値のいずれかとして指定します。

  • 関数ハンドル。

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

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

コールバックを関数ハンドル、cell 配列、または文字ベクトルとして指定する方法の詳細については、App Designer のコールバックを参照してください。

このプロパティは、MATLAB がオブジェクトを作成するときに実行されるコールバック関数を指定します。MATLAB は CreateFcn コールバックを実行する前に、すべてのプロパティ値を初期化します。CreateFcn プロパティを指定しない場合、MATLAB は既定の作成関数を実行します。

既存のコンポーネントに CreateFcn プロパティを設定しても効果はありません。

このプロパティを関数ハンドルまたは cell 配列として指定した場合、コールバック関数の最初の引数を使用して、作成中のオブジェクトにアクセスできます。それ以外の場合は、関数 gcbo を使用してオブジェクトにアクセスします。

オブジェクト削除関数。次の値のいずれかとして指定します。

  • 関数ハンドル。

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

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

コールバックを関数ハンドル、cell 配列、または文字ベクトルとして指定する方法の詳細については、App Designer のコールバックを参照してください。

このプロパティは、MATLAB がオブジェクトを削除するときに実行されるコールバック関数を指定します。MATLAB は、オブジェクトのプロパティを破棄する前に DeleteFcn コールバックを実行します。DeleteFcn プロパティを指定しない場合、MATLAB は既定の削除関数を実行します。

このプロパティを関数ハンドルまたは cell 配列として指定した場合、コールバック関数の最初の引数を使用して、削除されるオブジェクトにアクセスできます。それ以外の場合は、関数 gcbo を使用してオブジェクトにアクセスします。

コールバック実行制御

コールバックの割り込み。'on' または 'off'、もしくは数値または logical 1 (true) または 0 (false) として指定します。'on' の値は true と等価であり、'off' の値は false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。

このプロパティは実行中のコールバックが割り込み可能かどうかを決定します。次の 2 つのコールバックの状態について考慮する必要があります。

  • "実行中" コールバックは、現在実行しているコールバックです。

  • "割り込み" コールバックは、実行中のコールバックに割り込もうとするコールバックです。

MATLAB は、コールバック キューを処理するコマンドを実行するたびにコールバックの割り込み動作を判別します。これらのコマンドには、drawnowfigureuifiguregetframewaitforpause があります。

実行中コールバックにこれらのコマンドが含まれていない場合、割り込みは発生しません。MATLAB は、実行中コールバックの実行を先に終了させ、その後に割り込みコールバックを実行します。

実行中コールバックにこれらのいずれかのコマンドが含まれている場合、実行中コールバックを所有するオブジェクトの Interruptible プロパティに応じて割り込みが発生するかどうかが決まります。

  • Interruptible の値が 'off' の場合、割り込みは発生しません。代わりに、割り込みコールバックを所有するオブジェクトの BusyAction プロパティに応じて、割り込みコールバックが破棄されるかコールバック キューに追加されるかが決まります。

  • Interruptible の値が 'on' の場合、割り込みが発生します。MATLAB は、コールバック キューの次回処理時に、実行中コールバックの実行を停止し、割り込みコールバックを実行します。割り込みコールバックが完了した後、MATLAB は実行中だったコールバックの実行を再開します。

メモ

コールバックの割り込みと実行は、以下の状況では動作が異なります。

  • 割り込みコールバックが DeleteFcnCloseRequestFcn または SizeChangedFcn コールバックの場合、Interruptible プロパティの値にかかわらず割り込みが発生します。

  • 実行中のコールバックが関数 waitfor を現在実行している場合、Interruptible プロパティの値にかかわらず割り込みが発生します。

  • 割り込みコールバックが Timer オブジェクトで所有されている場合、Interruptible プロパティの値にかかわらずスケジュールに従ってコールバックが実行されます。

メモ

MATLAB は、割り込みが発生したときにプロパティの状態や表示を保存しません。たとえば、gca コマンドや gcf コマンドから返されたオブジェクトは、別のコールバックを実行するときに変更されている可能性があります。

コールバック キューイング。'queue' または 'cancel' として指定します。BusyAction プロパティは MATLAB による割り込みコールバックの実行の処理方法を決定します。次の 2 つのコールバックの状態について考慮する必要があります。

  • "実行中" コールバックは、現在実行しているコールバックです。

  • "割り込み" コールバックは、実行中のコールバックに割り込もうとするコールバックです。

BusyAction プロパティによってコールバック キューイングの動作が決まるのは、次の両方の条件を満たす場合のみです。

  • 実行中コールバックに drawnowfigureuifiguregetframewaitforpause などのコールバック キューを処理するコマンドが含まれている。

  • 実行中コールバックを所有するオブジェクトの Interruptible プロパティの値が 'off' である。

これらの条件に当てはまる場合、割り込みコールバックを所有するオブジェクトの BusyAction プロパティに応じて MATLAB による割り込みコールバックの処理方法が決まります。BusyAction プロパティは次の値を取ることができます。

  • 'queue' — 割り込みコールバックをキューに入れ、実行中のコールバックが終了した後に処理されるようにします。

  • 'cancel' — 割り込みコールバックを実行しません。

この プロパティ は読み取り専用です。

削除状態。matlab.lang.OnOffSwitchState 型の on/off logical 値として返されます。

MATLAB は、DeleteFcn コールバックが実行を開始すると、BeingDeleted プロパティを 'on' に設定します。コンポーネント オブジェクトが存在しなくなるまで BeingDeleted プロパティは 'on' に設定されたままです。

クエリや変更の前にオブジェクトが削除されようとしていないか確認するために BeingDeleted プロパティの値をチェックします。

親/子

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

オブジェクト ハンドルの可視性。'on''callback' または 'off' として指定します。

このプロパティは、オブジェクトの親がもつ子のリストにおけるそのオブジェクトの可視性を制御します。オブジェクトがその親オブジェクトのリストで、子として可視できない場合、オブジェクト階層の検索またはプロパティのクエリによってオブジェクトを取得する関数は、そのオブジェクトを返しません。これらの関数には、getfindobjclf および close が含まれます。オブジェクトは参照できない場合も有効です。オブジェクトにアクセスできる場合は、そのプロパティを設定および取得して、それをオブジェクトに作用する任意の関数に渡すことができます。

HandleVisibility の値説明
'on' オブジェクトは常に参照できます。
'callback'オブジェクトはコールバック内から、あるいはコールバックにより呼び出される関数から参照できます。しかし、コマンド ラインから呼び出される関数からは参照できません。このオプションを使用すると、コマンド ラインからのオブジェクトへのアクセスがブロックされますが、コールバック関数からのアクセスは許可されます。
'off'オブジェクトは常に参照できません。このオプションは、他の関数による UI の意図しない変更を防止するために役立ちます。HandleVisibility'off' に設定すると、その関数の実行中にオブジェクトが一時的に非表示になります。

識別子

この プロパティ は読み取り専用です。

グラフィックス オブジェクトのタイプ。'uieditfield' として返されます。

オブジェクト識別子。文字ベクトルまたは string スカラーとして指定します。オブジェクトの識別子として機能する一意の Tag 値を指定できます。コードの他の部分からオブジェクトにアクセスする必要がある場合、関数 findobj を使用して Tag 値に基づいてオブジェクトを検索できます。

ユーザー データ。任意の MATLAB 配列として指定します。たとえば、スカラー、ベクトル、行列、cell 配列、文字配列、table、または構造体を指定できます。このプロパティを使用して、任意のデータをオブジェクトに保存します。

App Designer を使用している場合は、UserData プロパティを使用する代わりに、アプリでパブリック プロパティまたはプライベート プロパティを作成してデータを共有します。詳細については、App Designer アプリ内でのデータの共有を参照してください。

オブジェクト関数

focusUI コンポーネントにフォーカスを移動

すべて折りたたむ

数値編集フィールドを作成し、その範囲を 0 ~ 100 に設定します。

fig = uifigure;
ef = uieditfield(fig,"numeric", ...
    "Limits",[0 100]);

Figure contains an object of type uinumericeditfield.

既定値を決定します。

val = ef.Value
val = 
0

編集フィールドの値を 50 に設定します。

ef.Value = 50;

Figure contains an object of type uinumericeditfield.

長さが 3 ~ 12 文字であり、文字と数字のみで構成されるテキストをアプリ ユーザーが入力できるテキスト編集フィールドを作成します。

fig = uifigure;
ef = uieditfield(fig, ...
    "CharacterLimits",[3 12], ...
    "InputType","alphanumerics");

無効な値をテキスト編集フィールドに入力すると、MATLAB はその問題を示すメッセージを表示します。その後、Enter キーを押したり、コンポーネントから移動したりすることで無効な値を入力すると、MATLAB はその値を直前の有効な値に戻します。

Text edit field. The text in the field is "ab", and the edit field has a red border and an error tooltip with text "Value must be between 3 and 12 characters long."

アプリ ユーザーがテキスト編集フィールドに入力した値のログを保持し、テキスト エリアにそのログを表示するアプリを作成します。

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

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

  • グリッド レイアウト マネージャーでテキスト編集フィールドとテキスト エリアを作成します。

  • ユーザーが編集フィールドに新しいテキストを入力するたびに前に入力されていたテキストをテキスト エリアに追加する editFieldValueChanged という名前のコールバック関数を作成し、その関数を編集フィールドの ValueChangedFcn コールバック プロパティに割り当てます。コールバック イベント データを使用して、前に入力されていたテキストにアクセスします。コールバックの詳細については、プログラムで作成したアプリ用のコールバックの作成を参照してください。

function logEntriesApp
fig = uifigure;
g = uigridlayout(fig);
g.RowHeight = {'fit','1x'};
g.ColumnWidth = {'1x',150,'1x'};

loglist = uitextarea(g, ...    
    "Editable","off");
loglist.Layout.Row = 2;
loglist.Layout.Column = 2;

ef = uieditfield(g, ...
  "Value","Daniela Hendrix",...
  "ValueChangedFcn",@(src,event) editFieldValueChanged(src,event,loglist));
ef.Layout.Row = 1;
ef.Layout.Column = 2;
end

% Create ValueChangedFcn callback
function editFieldValueChanged(src,event,loglist)
prev = event.PreviousValue;
loglist.Value = [prev; loglist.Value];
end

関数 logEntriesApp を実行します。編集フィールドに名前をいくつか入力します。新しい名前を入力するたびに、アプリは前の名前を、テキスト エリアに表示されているログに追加します。

App with an edit field and a text area. The edit field contains a name, and the text area has a list of multiple names.

バージョン履歴

R2016a で導入

すべて展開する

参考

関数

ツール