首页 > 解决方案 > 如何在 Matlab 中的 textArea 组件中格式化文本,使其始终显示最新值?

问题描述

我正在使用应用程序设计器构建一个 MATLAB 应用程序,并且我有一个 textArea 组件,用于向使用该应用程序的用户显示输出消息。组件名称为 OutputStatusTextArea_1,我在启动函数中将 nb_Text 的值设置为 0。

每当我需要显示消息时,我都会使用以下命令:

app.nb_Text                                       = app.nb_Text + 1;
app.OutputStatusTextArea_1.Value(app.nb_Text)     = strcat({'# '},'New Message')

发生的事情是在某些时候消息的数量完全填满了文本区域,然后每次我添加消息时,用户都需要向下滚动才能看到它。

我想要的是能够始终在 TextArea 的底部显示最后一条消息,并且如果用户想查看旧消息,则需要向上滚动。有没有办法这样做?

标签: matlabuser-interfacematlab-app-designer

解决方案


你试过这个setCaretPosition功能吗?看到这个帖子

https://www.mathworks.com/matlabcentral/answers/255486-set-edit-uicontrol-to-last-line


推荐阅读