Matlab - 更新列表框以显示新数据

时间:2013-11-14 02:00:27

标签: matlab

这样做的目的只是将用户提供的名称存储到列表框中,以便他们可以查看他们所做的事情的历史记录,例如: 1)用户绘制一条线并将其称为“第一线”,因此列表框显示“第一线” 2)用户然后绘制一个矩形并将其称为“矩形”,以便列表框显示“firstline”                                                                          '矩形'

到目前为止我的相关代码看起来像这样。

 name = inputdlg('Enter a name for the Object', 'Line Name');

        %get the current list box contents and store to a handle array
        handles.currentHistory = get(handles.historyList, 'String');

        %now add the name the user enters to this array
        handles.currentHistory(size(handles.currentHistory)+1) = name;

        %now update the history list
        set(handles.historyList, 'String', handles.currentHistory);

对于第一个输出,这是好的,但后来继续进行类似下面的操作,假设有3个对象被称为第一个,第二个和第三个。

第一

第二 第二

第三 第二 第三

我很难理解为什么以这种方式输出,并想知道如何才能让它更新。

干杯。

1 个答案:

答案 0 :(得分:0)

你可以这样做:

handles.currentHistory{end+1} = name; % add element after the last one

为此,您必须正确初始化handles.currentHistory

handles.currentHistory = {};