I am using ‘appdesigner’, I would like to programmatically scroll to the bottom of a TextArea, is this possible?

54 views (last 30 days)
Gregg Swanson
Gregg Swanson on 28 Apr 2017
Answered: Eric Sargent on 9 Dec 2020
I am using ‘appdesigner’.
I would like to programmatically scroll to the bottom of a TextArea, is this possible?
My text area is being used a "console log".
Thanks, Gregg

Answers (4)

Michael Corbett
Michael Corbett on 12 Oct 2018
To accomplish a scrolling text area, I did the following:
- Create the Text Area with 3 lines high (or as many as you'd like).
- Create a public consoleObj object using
properties (Access = public)
consoleObj
end
- On startup, write lines one and two (change to whatever appropriate):
app.consoleObj.line1 = 'Console Started';
app.consoleObj.line2 = 'System ready';
app.consoleObj.line3 = '';
app.ConsoleTextArea.Value = {app.consoleObj.line1;app.consoleObj.line2;app.consoleObj.line3};
- Wrote a function that would replace line1 with line2, line2 with line3, then add the new line3 and display:
methods (Access = public)
function writeConsoleLine(app,lineIn)
app.consoleObj.line1 = app.consoleObj.line2;
app.consoleObj.line2 = app.consoleObj.line3;
app.consoleObj.line3 = lineIn;
app.ConsoleTextArea.Value = {app.consoleObj.line1;app.consoleObj.line2;app.consoleObj.line3};
end
- Call the function to display the new text.
writeConsoleLine(app,'Pushbutton pressed');
  3 Comments
Samuel Salinas
Samuel Salinas on 12 Jun 2020
I tried the same approach but the "app.ConsoleTextArea.Value" field demands a string scalar or charcater vector, not a cell.
How do I go around this?

Sign in to comment.


Joshua Welsh
Joshua Welsh on 16 Apr 2018

Put your text into a ListBox instead of text area and then use the scroll function:

     scroll(app.ListBox, 'bottom')
  3 Comments

Sign in to comment.



Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!