Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 在列表框中显示复选框_Matlab_User Interface_Checkbox_Listbox - Fatal编程技术网

Matlab 在列表框中显示复选框

Matlab 在列表框中显示复选框,matlab,user-interface,checkbox,listbox,Matlab,User Interface,Checkbox,Listbox,在我的(编程)Matlab GUI中,我有一个列表框uicontrol 我想要的是在每个选项前面显示复选框。当用户单击该复选框时,该复选框将被标记(该元素将在稍后的计算过程中被考虑)。当用户单击标签时,所选选项的描述将显示在文本uicontrol中,以告知用户该选项的含义 基本上,我想要类似于安装程序的功能,您可以在其中选择要安装的组件,并可以通过单击这些组件(不一定将它们标记为选中)来获取有关这些组件的信息 有没有办法用复选框或类似的东西来做到这一点?没有“准备就绪”的方法来做到这一点,因为列

在我的(编程)Matlab GUI中,我有一个列表框
uicontrol

我想要的是在每个选项前面显示复选框。当用户单击该复选框时,该复选框将被标记(该元素将在稍后的计算过程中被考虑)。当用户单击标签时,所选选项的描述将显示在文本
uicontrol
中,以告知用户该选项的含义

基本上,我想要类似于安装程序的功能,您可以在其中选择要安装的组件,并可以通过单击这些组件(不一定将它们标记为选中)来获取有关这些组件的信息

有没有办法用复选框或类似的东西来做到这一点?

没有“准备就绪”的方法来做到这一点,因为列表框只接受普通字符串作为条目

您可以“手动”在列表框的区域中绘制复选框,但这可能意味着要让所有内容都正常工作需要做大量的工作。。。 另一种选择是使用java组件—例如,使用matlab中可用的jide组件。见例

举几个例子。

没有“准备好”的方法来实现这一点,因为列表框只将普通字符串作为条目

您可以“手动”在列表框的区域中绘制复选框,但这可能意味着要让所有内容都正常工作需要做大量的工作。。。 另一种选择是使用java组件—例如,使用matlab中可用的jide组件。见例


举几个例子。

实际上有两个内置控件可以在Matlab中使用:

  • com.jidesoft.swing.checkbox列表
  • com.mathworks.mwswing.checkboxlist.checkboxlist
  • 用法示例(有关详细信息,请参见my):

    jList=java.util.ArrayList;%任何java.util.List都可以
    jList.add(0,'First');
    jList.add(1,'Second');
    jList.add(2,'Third');
    添加(3,'和最后');
    jCBList=com.mathworks.mwswing.checkboxlist.checkboxlist(jList);
    jScrollPane=com.mathworks.mwswing.MJScrollPane(jCBList);
    [jhCBList,hContainer]=javacomponent(jScrollPane[10,10,80,65],gcf);
    set(jCBList,'ValueChangedCallback',@mymatlabcallbackcn);
    jCBModel=jCBList.getCheckModel;
    jCBModel.checkAll;
    jCBModel.uncheckIndex(1);
    jCBModel.uncheckIndex(3)


    实际上有两个内置控件可以在Matlab中使用:

  • com.jidesoft.swing.checkbox列表
  • com.mathworks.mwswing.checkboxlist.checkboxlist
  • 用法示例(有关详细信息,请参见my):

    jList=java.util.ArrayList;%任何java.util.List都可以
    jList.add(0,'First');
    jList.add(1,'Second');
    jList.add(2,'Third');
    添加(3,'和最后');
    jCBList=com.mathworks.mwswing.checkboxlist.checkboxlist(jList);
    jScrollPane=com.mathworks.mwswing.MJScrollPane(jCBList);
    [jhCBList,hContainer]=javacomponent(jScrollPane[10,10,80,65],gcf);
    set(jCBList,'ValueChangedCallback',@mymatlabcallbackcn);
    jCBModel=jCBList.getCheckModel;
    jCBModel.checkAll;
    jCBModel.uncheckIndex(1);
    jCBModel.uncheckIndex(3)


    啊,这正是我所担心的:(我想我只需要一个视觉解决方案(按钮组/面板+复选框),我真的不想使用Java…好吧,不管怎样,谢谢你,至少我知道现在不可能了:你还可以看看未记录的
    uigridcontainer
    uiflowcontainer
    -它们可能会使布局更容易处理。啊,这就是我担心的:(我想我会采用一种可视化的解决方法(按钮组/面板+复选框),我真的不想使用Java…好吧,无论如何,谢谢你,至少我知道现在不可能了:你也可以看看未记录的
    uigridcontainer
    uiflowcontainer
    ——它们可能会使布局更容易处理。