【发布时间】:2021-07-19 19:36:30
【问题描述】:
我正在寻求帮助来解决问题。 我正在使用 DockingFrames 开发一个摇摆应用程序(尽管它是一个非常好的库,但不再受支持)。 由于 oracle JRE 1.8_281 - 仅在 Windows 上测试,在 DragEnter 文件中,我的应用程序冻结。 所有记录器上都没有更多输出(列表很大:java.awt.focus.Component、java.awt.focus.Component、java.awt.focus.DefaultKeyboardFocusManager、所有焦点事件到摘要)。 当冻结出现时,不再触发事件。 在调试时,使用 eclpise,应用程序可能会暂停。 堆栈中没有出现阻塞线程,出现冻结时AWT线程总是在WInputMethod.endCompositionNative()中。
Thread [AWT-EventQueue-0] (Suspended)
owns: InputMethodContext (id=98)
owns: Component$AWTTreeLock (id=99)
WInputMethod.endCompositionNative(int, boolean) line: not available [native method]
WInputMethod.endComposition() line: 456
InputMethodContext(InputContext).endComposition() line: 913
InputMethodContext(InputContext).focusGained(Component) line: 321
InputMethodContext(InputContext).dispatchEvent(AWTEvent) line: 245
InputMethodContext.dispatchEvent(AWTEvent) line: 196
StackDockStation$Background(Component).dispatchEventImpl(AWTEvent) line: 4821
StackDockStation$Background(Container).dispatchEventImpl(AWTEvent) line: 2297
StackDockStation$Background(Component).dispatchEvent(AWTEvent) line: 4711
DefaultKeyboardFocusManager(KeyboardFocusManager).redispatchEvent(Component, AWTEvent) line: 1954
DefaultKeyboardFocusManager.typeAheadAssertions(Component, AWTEvent) line: 1015
DefaultKeyboardFocusManager.dispatchEvent(AWTEvent) line: 639
StackDockStation$Background(Component).dispatchEventImpl(AWTEvent) line: 4760
StackDockStation$Background(Container).dispatchEventImpl(AWTEvent) line: 2297
StackDockStation$Background(Component).dispatchEvent(AWTEvent) line: 4711
此错误不会在 Java OpneJDK jre-8.0.282.08-hotspot 或 JDK 11 上重现。 该错误仍然存在于最新的 Oracle JRE 1.8_292 中。
我不知道问题是由于我的应用程序还是 JRE。 有什么建议可以找出阻止我的应用程序的原因吗?
提前感谢您的帮助, 纳丁
【问题讨论】: