启动组件检查器时出现违反 EDT 的问题,可能与 CSS 的使用有关
Issue with EDT violation when launching Component Inspector, probably related to use of CSS
自从我开始使用 css(在 CN1 设置中激活 "CSS Theme Support"),每当我在模拟器中启动 Component Inspector 时,我都会收到大量堆栈跟踪错误(如下例)在检查员显示之前。屏幕上显示的每个组件似乎或多或少都有一个 stackTrace,尽管我没有检查过。最后检查员出现并正常工作,但通常需要 30-60 秒才能首先显示所有堆栈跟踪...
它不会发生在一个小的测试示例中,所以它似乎特定于我的代码,但由于我在堆栈跟踪中没有看到与我的代码相关的任何内容,所以我有点不知所措是什么原因造成的。有任何调查建议或途径吗?
谢谢
EDT violation detected!
com.codename1.impl.javase.JavaSEPort$EDTViolation: EDT Violation Stack!
at com.codename1.impl.javase.JavaSEPort.checkEDT(JavaSEPort.java:918)
at com.codename1.impl.javase.JavaSEPort.createFont(JavaSEPort.java:6212)
at com.codename1.ui.Font.<init>(Font.java:99)
at com.codename1.ui.Font.createSystemFont(Font.java:345)
at com.codename1.ui.util.Resources.loadTheme(Resources.java:1351)
at com.codename1.ui.util.Resources.openFileImpl(Resources.java:305)
at com.codename1.ui.util.Resources.openFile(Resources.java:271)
at com.codename1.ui.util.Resources.<init>(Resources.java:191)
at com.codename1.ui.util.Resources.open(Resources.java:742)
at com.codename1.ui.util.Resources.open(Resources.java:679)
at com.codename1.impl.javase.ComponentTreeInspector.<init>(ComponentTreeInspector.java:81)
at com.codename1.impl.javase.JavaSEPort.actionPerformed(JavaSEPort.java:2937)
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 com.apple.laf.ScreenMenuItem.actionPerformed(ScreenMenuItem.java:125)
at java.awt.MenuItem.processActionEvent(MenuItem.java:669)
at java.awt.MenuItem.processEvent(MenuItem.java:628)
at java.awt.MenuComponent.dispatchEventImpl(MenuComponent.java:357)
at java.awt.MenuComponent.dispatchEvent(MenuComponent.java:345)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:761)
at java.awt.EventQueue.access0(EventQueue.java:97)
at java.awt.EventQueue.run(EventQueue.java:709)
at java.awt.EventQueue.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90)
at java.awt.EventQueue.run(EventQueue.java:731)
at java.awt.EventQueue.run(EventQueue.java:729)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
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)
这是我们代码中的 EDT 违规。这不是一个大的,实际上是允许的,所以这个代码是合法的。但是,EDT 违规检测代码无法区分我们的代码和您的代码。它无法判断特定违规是否为 "OK"。因此,它将带有堆栈跟踪的此警告打印为误报。
自从我开始使用 css(在 CN1 设置中激活 "CSS Theme Support"),每当我在模拟器中启动 Component Inspector 时,我都会收到大量堆栈跟踪错误(如下例)在检查员显示之前。屏幕上显示的每个组件似乎或多或少都有一个 stackTrace,尽管我没有检查过。最后检查员出现并正常工作,但通常需要 30-60 秒才能首先显示所有堆栈跟踪...
它不会发生在一个小的测试示例中,所以它似乎特定于我的代码,但由于我在堆栈跟踪中没有看到与我的代码相关的任何内容,所以我有点不知所措是什么原因造成的。有任何调查建议或途径吗?
谢谢
EDT violation detected!
com.codename1.impl.javase.JavaSEPort$EDTViolation: EDT Violation Stack!
at com.codename1.impl.javase.JavaSEPort.checkEDT(JavaSEPort.java:918)
at com.codename1.impl.javase.JavaSEPort.createFont(JavaSEPort.java:6212)
at com.codename1.ui.Font.<init>(Font.java:99)
at com.codename1.ui.Font.createSystemFont(Font.java:345)
at com.codename1.ui.util.Resources.loadTheme(Resources.java:1351)
at com.codename1.ui.util.Resources.openFileImpl(Resources.java:305)
at com.codename1.ui.util.Resources.openFile(Resources.java:271)
at com.codename1.ui.util.Resources.<init>(Resources.java:191)
at com.codename1.ui.util.Resources.open(Resources.java:742)
at com.codename1.ui.util.Resources.open(Resources.java:679)
at com.codename1.impl.javase.ComponentTreeInspector.<init>(ComponentTreeInspector.java:81)
at com.codename1.impl.javase.JavaSEPort.actionPerformed(JavaSEPort.java:2937)
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 com.apple.laf.ScreenMenuItem.actionPerformed(ScreenMenuItem.java:125)
at java.awt.MenuItem.processActionEvent(MenuItem.java:669)
at java.awt.MenuItem.processEvent(MenuItem.java:628)
at java.awt.MenuComponent.dispatchEventImpl(MenuComponent.java:357)
at java.awt.MenuComponent.dispatchEvent(MenuComponent.java:345)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:761)
at java.awt.EventQueue.access0(EventQueue.java:97)
at java.awt.EventQueue.run(EventQueue.java:709)
at java.awt.EventQueue.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90)
at java.awt.EventQueue.run(EventQueue.java:731)
at java.awt.EventQueue.run(EventQueue.java:729)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
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)
这是我们代码中的 EDT 违规。这不是一个大的,实际上是允许的,所以这个代码是合法的。但是,EDT 违规检测代码无法区分我们的代码和您的代码。它无法判断特定违规是否为 "OK"。因此,它将带有堆栈跟踪的此警告打印为误报。