我是这里的新人。
我在使用 MATLAB 时经常遇到 java 错误。我用的是intel Mac,MATLAB版本是R2012a。
错误在 MATLAB 命令行窗口中显示如下:
java.awt.IllegalComponentStateException: component must be showing on the screen to determine its location
at java.awt.Component.getLocationOnScreen_NoTreeLock(Component.java:1971)
at java.awt.Component.getLocationOnScreen(Component.java:1945)
at apple.awt.CAccessibility$22.call(CAccessibility.java:370)
at apple.awt.CAccessibility$22.call(CAccessibility.java:368)
at apple.awt.CToolkit$CallableWrapper.run(CToolkit.java:1121)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:199)
at apple.awt.CToolkit$CPeerEvent.dispatch(CToolkit.java:1211)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:702)
at java.awt.EventQueue.access$400(EventQueue.java:82)
at java.awt.EventQueue$2.run(EventQueue.java:663)
at java.awt.EventQueue$2.run(EventQueue.java:661)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:672)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
据我所知,这个错误只有在我用鼠标做某事时才会发生。
例如
当我右键单击当前文件夹中的 MATLAB 函数时,然后单击打开。我将有 80% 的机会得到这个错误。但是如果只是在命令行窗口中输入edit xxx.m。那么我永远不会得到这个错误。
当我将变量从工作区拖到变量编辑器时,我有 80% 的机会出现此错误。而且我不知道如何使用命令在变量编辑器中查看变量。
而且,如果发生此错误,它将一直发生,直到您关闭 MATLAB 并重新打开,如果您使用鼠标执行某些操作。例如,通过鼠标添加路径到 MATLAB 搜索路径,使用鼠标更改目录。如果你重新打开它,当你使用鼠标时,你将有 80% 的机会再次遇到这个问题。
有没有其他人见过这类问题?我对java一无所知,谁能给我一些建议。谢谢。