主要内容

设置

类:matlab.ui.componentcontainer.ComponentContainer
包:matlab.ui.componentcontainer

设置组件容器子类的实例

自从R2020b

语法

设置(obj)

描述

设置(obj)设置UI组件的初始状态。它执行一旦创建UI组件对象时,UI组件的父被分配。任何其他属性值作为名称的参数传递给UI组件的构造函数方法后被分配设置方法执行。

定义这个方法来执行初始化代码为每个类的新实例。例如,您可以使用这个方法来创建底层图形对象并设置初始属性值的对象。

输入参数

全部展开

对象的类继承matlab.graphics.componentcontainer.ComponentContainer基类。

属性

文摘 真正的
受保护的 真正的

了解属性的方法,请参阅方法属性

例子

全部展开

定义一个类IPAddressComponent创建一个自定义组件输入四值形成一个IP地址。

定义类,创建一个文件IPAddressComponent.m与这些特性包含以下类定义:

  • 一个价值公共财产,商店的IP地址。

  • NumericFieldGridLayout私有财产,四个数字编辑字段在水平行。

  • 一个设置初始化方法NumericFieldGridLayout

  • 一个更新方法,更新NumericField值时,IP地址的变化。

  • 一个handleNewValue方法设置价值财产基于4数字编辑字段的值。

classdefIPAddressComponent < matlab.ui.componentcontainer.ComponentContainer% IPAddressComponent一组4编辑字段输入IP地址属性价值(1、4){mustBeNonnegative、mustBeInteger mustBeLessThanOrEqual(价值255美元)}= (192 168 1 2);结束事件ValueChanged (HasCallbackProperty NotifyAccess =保护)% ValueChangedFcn调属性将生成结束属性(=私人访问,瞬态NonCopyable) NumericField(1、4)matlab.ui.control.NumericEditFieldGridLayoutmatlab.ui.container.GridLayout结束方法(访问=保护)函数设置(obj)%设置该组件的初始位置obj。位置= (100 100 150 22);%的布局obj。GridLayout = uigridlayout (obj, (1、5),“RowHeight”{22},“ColumnWidth”{30日,30日,30日,30日,22},“填充”0,“列空间”2);%的构建块k = 1:4 obj.NumericField (k) = uieditfield (obj.GridLayout,“数字”,“限制”255年[0],“RoundFractionalValues”,真的,“字体名”,“快递新”,“FontWeight”,“大胆”,“ValueChangedFcn”@ (o, e) obj.handleNewValue ());结束结束函数更新(obj)%更新视图k = 1:4 obj.NumericField (k)。值= obj.Value (k);结束结束结束方法(访问=私人)函数handleNewValue (obj) obj。价值= [obj.NumericField.Value];%执行事件监听器和ValueChangedFcn调属性通知(obj,“ValueChanged”);结束结束结束

接下来,创建组件通过调用IPAddressComponent构造函数方法,它提供的ComponentContainer类,并返回对象h。指定一个函数显示新的IP地址在命令窗口组件值变化。

h = IPAddressComponent;h。ValueChangedFcn = @ (o, e) disp ([的值更改为:“num2str (h.Value)]);

输入的IP地址192.168.1.10进入编辑字段。MATLAB®命令窗口显示更新的IP地址。

提示

  • 不叫drawnow设置更新UI组件类的方法。这样的调用会导致意想不到的屏幕更新应用程序使用UI组件。相反,依赖于应用程序的开发者(使用您的组件)来调用drawnow在他们的应用程序代码时需要触发屏幕更新。这些调用外部组件代码更新所有UI组件的应用程序,包括那些使用创建的ComponentContainer类。

版本历史

介绍了R2020b