- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当 dumpStackTrace 的第一个元素位于 java.awt.EventDispatchThread.run 时,为什么 isEventDispatchThread() 返回 false?
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
doStuff();
}
});
public void doStuff(){
Thread.dumpStack();
System.out.print(" [addToParents] "
+ ((SwingUtilities.isEventDispatchThread()
? "out of EDT" : " in EDT ")));
}
产量:
[addToParents] out of EDT
java.lang.Exception: Stack trace
at java.lang.Thread.dumpStack(Thread.java:1342)
at pt.up.fe.dceg.neptus.gui.MissionBrowser.doStuff(MissionBrowser.java:899)
at pt.up.fe.dceg.neptus.gui.MissionBrowser.access$6(MissionBrowser.java:883)
at pt.up.fe.dceg.neptus.gui.MissionBrowser$3.run(MissionBrowser.java:1221)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:721)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:682)
at java.awt.EventQueue$3.run(EventQueue.java:680)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:691)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:244)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:147)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:139)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:97)
这是简化代码(不是 MWS)。我怀疑这是一个我没有理解的概念,所以我没有包括一个,如果需要 MWS,请告诉我。
最佳答案
不,不是。在您的三元运算符的表达式中:
(SwingUtilities.isEventDispatchThread() ? "out of EDT" : " in EDT ")))
SwingUtilities.isEventDispatchThread()
正在返回 true
,这就是它打印 “Out of EDT”
的原因。
对于表达式 条件 ? value1 : value2
:如果 condition
为真,则结果为 value1
否则结果为 value2
。
关于java - isEventDispatchThread 超出 EDT 但从 EventDispatchThread.run 运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19666695/
所以我试图显示一个图像(ball),我最终将通过用户输入来控制它。要知道,图像只是使用线程的 sleep 方法每隔一段时间显示一次。 我创建了 2 个类,一个扩展了 JPanel,另一个扩展了 JFr
我们在运行应用程序结束时收到此错误。我在谷歌搜索但不知道是什么原因导致这个错误以及这意味着什么。该怎么办以及如何解决? 我什至不知道是什么引发了这个异常...... Exception breakpo
这是我不明白的设计决定。 Android 和 JME 都遵循启动应用程序的线程是 UI 线程的策略,您要注意将资源消耗的东西卸载到另一个线程。 另一方面,在 Swing 中,您将 EventQueue
我使用 JEditorPane 作为“橡皮图章”将 HTML 文本呈现为 PDF。我需要文本以特定宽度换行,并且需要在文本后面应用白色“突出显示”。因此,我在 PDF 渲染线程中创建一个 JEdito
我是 Swing 的新手,正在 Eclipse 中制作一个非常基本的事件处理程序。这是我写的代码: public class SwingDemo2 { JLabel jl; public SwingD
当我尝试在调试器中启动我的代码时出现以下错误。 EventDispatchThread.run() line: not available [local variables unavailable]
不久前,我们向应用程序添加了一些代码来检测并尝试从 Swing EDT 死锁中恢复,因此用户至少可以保存他们的文件(最好不要出现死锁,但是......) 。在 Java 1.6 中,这很容易。检测 E
当 dumpStackTrace 的第一个元素位于 java.awt.EventDispatchThread.run 时,为什么 isEventDispatchThread() 返回 false?
这是我在使用 Eclipse 进行调试时遇到的一个小烦恼。选中“未捕获的异常时暂停执行”后,调试器通常会在引发异常的位置暂停线程。然而,事件调度线程上的异常会导致它在 EventDispatchThr
我是一名优秀的程序员,十分优秀!