how to declear global "import java.awt.Robot" and "import java.awt.event.*"?

I have some function contaning "import java.awt.Robot;" and "import java.awt.event.*;".
How can I define these two commands globally? So that I do not need to add these two commands separately in each function.

3 comentarios

@hamze moosapour - is there a reason why you don't want to include these two lines in that file? I'm not sure if you can omit them. Even if you could, including them shows the dependenices in this file which I think is a good thing.
Thank you. in fact due to the many functions I wrote, this slows down the program in general. So if these two commands can be included in the main program that do not need to be run every time the program speed is greatly increased.
I'm surprised that these import commands are slowing down the program. Are you sure that they are the cause of the performance issues?

Iniciar sesión para comentar.

Respuestas (1)

Jan
Jan el 30 de Dic. de 2021
If such a global import is possible, it might destroy Matlab's stability. The imported functions without wildcards have a higher precedence than nested and local functions. With wildcards they are preferred to private functions also. So after a "global" import, all of Matlab's toolbox functions, which use function names, which match the imported functions by accident, will run unexpected code.
Therefore I assume, that such a global import is not possible. And if there is a method to do this, you should avoid it strictly, because it is a shot in your knee.
The import functions should not take a lot of time. For 1e6 calls I do not see a measurable effect. If you call a function much more often, check again, if it is really required to import the functions. Remember that you can call e.g. java.awt.Robot directly also without the need to import before. Creating such an object takes at least 10'000 times longer than importing the function, so if the code is slow, avoid to create the Robots repeatedly, but create one object and share it.

1 comentario

I could imagine import taking a notable amount of time in some cases, such as if the java class path included network folders.

Iniciar sesión para comentar.

Categorías

Más información sobre Startup and Shutdown en Centro de ayuda y File Exchange.

Preguntada:

el 29 de Dic. de 2021

Comentada:

el 30 de Dic. de 2021

Community Treasure Hunt

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

Start Hunting!

Translated by