Is there a way to set a EditField as ready to accept input in app designer?

25 views (last 30 days)
David Rea
David Rea on 9 May 2018
Answered: Adam Danz on 5 Apr 2022
I am using App Designer to make an EditBox with user text input. I would like to user to be able to select the app and begin typing without the need to select the EditBox. Is there a way to have the code select the EditBox to enable it to be ready for user input?

Accepted Answer

Ameer Hamza
Ameer Hamza on 9 May 2018
Edited: Ameer Hamza on 9 May 2018
It appears that this functionality has still not been added to App Designer. Anyway here is a bodge that can bring an edit field to focus. The idea is to send automatic TAB key presses to the app window. Since you can manually bring an edit field to focus by pressing TAB key several times, you can automate this as follow
import java.awt.*;
import java.awt.event.*;
rob = Robot;
rob.keyPress(KeyEvent.VK_TAB)
rob.keyRelease(KeyEvent.VK_TAB)
rob.keyPress(KeyEvent.VK_TAB)
rob.keyRelease(KeyEvent.VK_TAB)
these line of code will simulate 2 TAB key presses. Since it is a bodge, at the time of coding, you will have to use hit and trial approach to determine how many tab presses are needed to reach a particular edit field. I have attached a sample app. When the app start, it force editfield1 to get focus. After that, whenever button1 is pressed, editfield1 will be focused and button2 will bring editfield2 to focus. You can look at the Code View to get a further idea.
  9 Comments

Sign in to comment.

More Answers (1)

Adam Danz
Adam Danz on 5 Apr 2022
Update
Starting in MATLAB R2022a.
Use the new focus(c) function to set focus to a ui component c. This MATLAB release also provides additional resources to control the focus order of ui components in AppDesigner.
More info

Community Treasure Hunt

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

Start Hunting!