这样做的目的只是将用户提供的名称存储到列表框中,以便他们可以查看他们所做的事情的历史记录,例如: 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个对象被称为第一个,第二个和第三个。
第一
第二 第二
第三 第二 第三
我很难理解为什么以这种方式输出,并想知道如何才能让它更新。
干杯。
答案 0 :(得分:0)
你可以这样做:
handles.currentHistory{end+1} = name; % add element after the last one
为此,您必须正确初始化handles.currentHistory
:
handles.currentHistory = {};