假设有人使用GUIDE制作了Matlab GUI。现在,我想在程序化环境中使用该代码-这不是循环中的人。对我来说,最简单的方法是“编写”与GUI的人机交互,以便按适当的顺序操纵各种控件,以使该工具处理我的数字并获得其结果?我正在寻找一种无创方式来重用此工具的功能。我理想的用于调用Matlab功能的编程环境是Java。
我可以打开GUIDE .fig并找出各个控件上的所有回调函数,但是设计模式似乎是将所有数据推到handles变量中。
我有能力使用Matlab Builder JA for Java生成Java类,如果这样做有帮助的话。任何建议,将不胜感激。
回答:
MTALAB GUI是Java GUI。对于GUI自动化,最近在Yair Altman博客上发布了一个帖子:
http :
//undocumentedmatlab.com/blog/gui-automation-robot/
仅当您可以重写应用程序时,以下内容才适用。
通常不需要像您这样的任务就使用任何形式的GUI自动化。应用程序应具有
以下架构 :
模型->业务逻辑-> GUI 。每个层与其上层都是分离的-
模型对
Business Logic一无所知,而对
GUI则一无所知。这样就可以以编程方式调用Business Logic,而无需显示GUI。
这是在MATLAB中实现MVC的示例。
因此,应避免使用GUIDE。 MATLAB中有一个未记录的
布局管理器 ,文件交换中也有一些。
在您的情况下,您可以将整个业务逻辑放在GUI逻辑之外,从而使GUIDE回调仅执行您的业务逻辑功能。
更多&回答...