1

在有人指出我之前,我已经去了 NetBeans 错误报告社区。他们没有解决办法。

在我使用的每个 NetBeans IDE(我在多台计算机上都有 4 个版本(6.9、6.9.1、7.0 和最新的实验版本))中,每当我打开一个类的 GUI 构建器(JFrame、 JDialog 和 Panel),除非这是第一次打开该类的 GUI 构建器。有没有其他人遇到过这个问题?如果是这样,您找到解决方法了吗?

原因


我找到了原因,但仍然没有解决方案:在我的库的 class 方法中启动了一个新线程BHFrameinitComponents()它扩展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"
4

1 回答 1

0

我删除了方法中产生的新线程initComponents(),过了一会儿,一切恢复正常。

于 2011-04-21T22:04:05.190 回答