Borrar filtros
Borrar filtros

How to automatically scroll a textbox to end of line?

5 visualizaciones (últimos 30 días)
Niko
Niko el 13 de Sept. de 2014
Comentada: Geoff Hayes el 16 de Sept. de 2014
Hi all,
I'm trying to code a calculator, which has an inactive (non-editable) textbox used for display of the input. Is there a way to automatically scroll the textbox to the end when the input gets longer than the width of the textbox? (If it's impossible in matlab maybe there's some workaround in java?)
Thanks!
Niko

Respuesta aceptada

Geoff Hayes
Geoff Hayes el 13 de Sept. de 2014
Niko - if you go to the MATLAB File Exchange and download the submission findjobj and save this file somewhere in your MATLAB search path, then you can update your GUI with the following two lines of code that will set the caret to the end of the line in your edit box so that it creates the appearance of automatically scrolling to the end
% assume that the text box that has been updated with the user input is named
% text1
% after text1 has been updated, move the caret to the end of the line
jhText1 = findjobj(handles.text1);
jhText1.setCaretPosition(jhText1.getDocument.getLength);
I tried out the following by creating a simple GUI using GUIDE. (If you created your GUI in a different manner, then you will just have to replace handles.text1 with the handle to your non-editable text box.
The above worked in my version of MATLAB R2014a on OS X 10.8.5.
  4 comentarios
Niko
Niko el 16 de Sept. de 2014
Editada: Niko el 16 de Sept. de 2014
Hi Geoff,
I just solved the mystery - I put the setCaretPosition() call immediately after I changed the content of the textbox, which actually takes effect after setCaretPosition() is executed since it takes some time to run, and changing the content (from a function rather than manual input) seems to reset caret position to 0. So I added pause(0.01) before setCaretPosition and now it works. Thanks again for your help!
Niko
Geoff Hayes
Geoff Hayes el 16 de Sept. de 2014
Great that it worked out!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Migrate GUIDE Apps en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by