Using Java Robot class in Parfeval

2 views (last 30 days)
Now I want to use Java Robot Class in a function. That function will be called by parfeval(), which will be evaluated in background.
  • It seems that Java robot class can not be used in parfeval().*
May I kindly know if there is a solution for this problem?

Accepted Answer

Edric Ellis
Edric Ellis on 22 Jul 2016
Edited: Edric Ellis on 22 Jul 2016
If you're referring to java.awt.Robot, then this will not work since the MATLAB worker executing the body of the parfeval function is a separate process. You might be better off writing some Java code to spawn a thread to drive the java.awt.Robot.
  2 Comments
Rick Han
Rick Han on 22 Jul 2016
Thanks a lot for answering!
And actually, the parfeval seems not to recognize this command "robot=Robot()" or "robot = java.awt.Robot;" . This is the step to construct a java Robot object.
So you mean I need to write some codes to construct this object bu myself?
Thanks a lot!
Walter Roberson
Walter Roberson on 22 Jul 2016
Possibly you need to import it, or make sure it is on the java class path?

Sign in to comment.

More Answers (1)

Walter Roberson
Walter Roberson on 22 Jul 2016
Each worker has its own process, and that process has no assigned graphics and no assigned keyboard or mouse. When you use the Java Robot class within that process, there is no keyboard or mouse to simulate presses of.

Community Treasure Hunt

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

Start Hunting!