在有人指出我之前,我已经去过NetBeans错误报告社区了。他们没有解决方案。
在我使用的每个NetBeans IDE中(我在多台计算机上有4个版本(6.9,6.9.1,7.0和最新的实验版本)),每当我打开类的GUI构建器时,它们都会一致且可预测地陷入死锁状态(JFrame,JDialog和Panel),除非它是第一次打开类的GUI构建器。还有其他人遇到过这个问题吗?如果是这样,你有没有办法解决它?
我发现了原因,但仍然没有解决方案:在我的库的BHFrame
类initComponents()
方法中启动了一个新线程,该方法扩展了JFrame
并使用了NetBeans GUI生成器。尝试在构建器中构建GUI时,NetBeans会尝试运行此方法,并在无限循环中锁定。 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"
答案 0 :(得分:0)
我删除了initComponents()
方法中生成的新线程,过了一会儿,一切都恢复了正常。