新浪博客

关于MATLAB GUI中程序无法打开解决办法

2013-05-10 00:42阅读:
最近在写GUI程序时,经常遇到已经保存了的程序带不开,在matlab的命令窗口出现了如下的代码:
java.lang.ClassCastException
at com.mathworks.ide.layout.LayoutEditor.completed(LayoutEditor.java:3957)
at com.mathworks.jmi.Matlab$CompletionHandler.messageReceived(Matlab.java:2079)
at com.mathworks.services.message.MWLooper.dispatchMessage(MWLooper.java:412)
at com.mathworks.services.message.MWLooper.runBridge(MWLooper.java:557)
at com.mathworks.services.message.MWLooper.run(MWLooper.java:526)
at java.lang.Thread.run(Unknown Source)
并且显示GUI程序正在初始化的对话框一直停留在窗口上。搜了一下,发现很多人都遇到了这个问题,但是看遍了所有的中文网页,都没有一个人给出了解决办法。最后在一个国外的MATLAB论坛找到了一点线索: 关于MATLAB <wbr>GUI中程序无法打开解决办法

原来问题出在flg界面添加了菜单栏,并且给主选项添加了CALLBACK函数;
解决办法其实也很简单,将相应的flg文件和m文件拷到另外一台电脑打开,删除已有的菜单项再新建一个菜单项并添加子菜单项,并为子菜单项添加一个callback函数,直接将原有菜单项对应callback函数代码拷到现有的callback函数下即可。
如图:应该为openfile添加callback函数,而不是直接用openfile代替start并且添加函数,否则button对象就没用了
关于MATLAB <wbr>GUI中程序无法打开解决办法
除此之外,还有一个最彻底的解决办法,就是换一个新版的matlab,我用的matlab 7,冲的就是简洁朴素的操作界面,但随着使用得日益频繁,发现还是不少的bug,有时还会因为一些未知bug而不断的反复修改自己的已经正确代码,浪费了大量的时间。
总之,还是用新版本吧

我的更多文章

下载客户端阅读体验更佳

APP专享