在有人指出我之前,我已经去了 NetBeans 错误报告社区。他们没有解决办法。
在我使用的每个 NetBeans IDE(我在多台计算机上都有 4 个版本(6.9、6.9.1、7.0 和最新的实验版本))中,每当我打开一个类的 GUI 构建器(JFrame、 JDialog 和 Panel),除非这是第一次打开该类的 GUI 构建器。有没有其他人遇到过这个问题?如果是这样,您找到解决方法了吗?
原因
我找到了原因,但仍然没有解决方案:在我的库的 class 方法中启动了一个新线程BHFrame
,initComponents()
它扩展JFrame
并使用了 NetBeans GUI Builder。NetBeans 在尝试在构建器中构建 GUI 时尝试运行此方法,并锁定在无限循环的等待中。NetBeans 在线程转储期间报告了这一点:
Found one Java-level deadlock:
=============================
"BHFrame.initComponents(): Setting up custColorsEditDialog":
waiting to lock monitor 0x089178d4 (object 0x1ae148f8, a
javax.swing.MultiUIDefaults),
which is held by "AWT-EventQueue-1"
"AWT-EventQueue-1":
waiting to lock monitor 0x0868f6ec (object 0x1a310f18, a
java.awt.Component$AWTTreeLock),
which is held by "BHFrame.initComponents(): Setting up custColorsEditDialog"