Я уже посещал сообщество по сообщениям об ошибках NetBeans, пока кто-нибудь не указал мне на это. У них нет решения.
В каждой среде IDE NetBeans, которую я использую (у меня есть 4 версии (6.9, 6.9.1, 7.0 и последняя экспериментальная сборка) на нескольких компьютерах), они последовательно и предсказуемо переходят в тупик всякий раз, когда я открываю конструктор GUI для класса (JFrame, JDialog и Panel), если это не первый раз, когда открывается конструктор GUI класса. Кто-нибудь еще сталкивался с этой проблемой? Если так, вы нашли способ исправить это?
Причина
Я обнаружил причину, но все еще не нашел решения: в классе моей библиотеки BHFrame
initComponents()
запущен новый поток, который расширяет JFrame
и использует построитель графического интерфейса пользователя NetBeans. 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"