【问题标题】:javaSE.jar is causing an exceptionjavaSE.jar 导致异常
【发布时间】:2017-06-17 14:52:27
【问题描述】:

在处理一个项目时,我注意到在模拟器中使用旋转选项时,会引发异常:

Exception in thread "AWT-EventQueue-0" java.lang.Error: 
Cannot call invokeAndWait from the event dispatcher thread

我创建了一个没有这个问题的新项目,在比较它们之后,我注意到 javaSE.jar 的大小不同:

第一个项目的javaSE.jar是17883ko,第二个项目的javaSE.jar是17673ko

如果我在第一个项目中替换 jar,异常就会消失。

这是什么原因?

我正在使用带有最新 CodeNameOne 插件的 Netbeans 8.2。

这是堆栈跟踪:

Exception in thread "AWT-EventQueue-0" java.lang.Error: Cannot call invokeAndWait from the event dispatcher thread
    at java.awt.EventQueue.invokeAndWait(EventQueue.java:1303)
    at java.awt.EventQueue.invokeAndWait(EventQueue.java:1296)
    at javax.swing.SwingUtilities.invokeAndWait(SwingUtilities.java:1348)
    at com.codename1.impl.javase.JavaSEPort$C.blit(JavaSEPort.java:820)
    at com.codename1.impl.javase.JavaSEPort.sizeChanged(JavaSEPort.java:3399)
    at com.codename1.impl.javase.JavaSEPort$35.actionPerformed(JavaSEPort.java:2550)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
    at javax.swing.AbstractButton.doClick(AbstractButton.java:376)
    at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:833)
    at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:877)
    at java.awt.Component.processMouseEvent(Component.java:6535)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
    at java.awt.Component.processEvent(Component.java:6300)
    at java.awt.Container.processEvent(Container.java:2236)
    at java.awt.Component.dispatchEventImpl(Component.java:4891)
    at java.awt.Container.dispatchEventImpl(Container.java:2294)
    at java.awt.Component.dispatchEvent(Component.java:4713)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
    at java.awt.Container.dispatchEventImpl(Container.java:2280)
    at java.awt.Window.dispatchEventImpl(Window.java:2750)
    at java.awt.Component.dispatchEvent(Component.java:4713)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.awt.EventQueue$3.run(EventQueue.java:703)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
    at java.awt.EventQueue$4.run(EventQueue.java:731)
    at java.awt.EventQueue$4.run(EventQueue.java:729)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

谢谢。

【问题讨论】:

  • 请发布您遇到的异常的完整堆栈跟踪
  • 感谢您的回复。我编辑了我的原始消息。

标签: codenameone


【解决方案1】:

你有一个旧罐子。如果遇到问题,您需要更新客户端库。右键项目,选择:Codename One -> Codename One Settings -> Basic -> Update Client Libs

当报告问题时,始终报告最新的最新版本。

【讨论】:

  • 我想你的意思是“更新项目库”按钮。它不能解决问题。我仍然在模拟器中遇到该异常。
  • 更新后是否是同一个栈,行号完全相同?
  • 堆栈跟踪完全相同。 javaSE.jar 仍然是 17883ko。使用更新项目库选项时,项目目录中的这个 javaSE.jar 文件是否更新?我在点击更新按钮之前尝试将其删除,但没有重新下载。
  • 不幸的是,这错过了 3.7 的代码冻结,所以我们现在需要确定这是否会导致 P1 错误。我看到了这个问题,似乎sizeChanged 从本地摇摆 EDT 调用 canvas.blit();,这是被禁止的。
  • 我们审查了 3.7 的修复程序,我们将推送包含此修复程序的更新github.com/codenameone/CodenameOne/issues/2136
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-03-23
  • 2011-06-08
  • 2017-02-16
  • 2018-11-09
  • 2014-03-13
  • 2011-09-06
  • 2010-11-20
相关资源
最近更新 更多