响应式 MATLAB GUI,无需直接调用 drawow()
2022-09-04 22:25:55
关于 MATLAB 的事实:
- MATLAB UI 是 Java Swing。
- MATLAB与Java具有出色的互操作性,可以初始化Java对象并直接从MATLAB代码调用它们的方法,甚至可以将MATLAB定义的侦听器传递给Java!
我的问题:
MATLAB不提供后台线程,因此为了使MATLAB UI具有响应性,我们必须调用函数drawow来刷新Swing EDT队列,另请参阅此处和此处。这是一个众所周知的事实,到目前为止一切顺利。
但是现在我有一个客户,其执行计算的代码是一个MATLAB p文件(加密),因此我无法访问要放在那里的代码。drawnow
尝试失败:
我尝试启动一个计时器来完成调用的工作,但它似乎不起作用 - 计时器本身需要一个先例来触发其回调。drawnow
drawnow
编辑:最后,我实现了在另一个线程上运行.NET/WPF的GUI,因此它始终保持响应,并且看起来比原始的MATLAB好得多。