У меня есть контроль над небольшой частью приложения, созданного на Eclipse, и у меня возникла проблема с созданием DefaultCellEditor. Код на самом деле использует подкласс DefaultCellEditor, но я могу воссоздать проблему с помощью DefaultCellEditor, так что об этом я и собираюсь спросить, надеясь, что это решит проблему с реальным классом. Я пробовал это с обоими JDK 1.5 и 1.6, и получаю одинаковое поведение в обоих.
Проблема возникает, когда вызывается конструктор DefaultCellEditor:
log.debug("Trying construction.");
currentCellEditor = new DefaultCellEditor(new JTextField());
log.debug("Constructed OK.");
Когда этот код выполняется, возможно, в 20% случаев, приложение зависает, а процессор привязан к 100% - похоже, что где-то там бесконечный цикл, но я не знаю, где. Первая строка журнала печатается, а вторая нет.
Я попытался сделать копию класса DefaultCellEditor и вставить туда операторы System.out.println, чтобы посмотреть, смогу ли я выяснить, где возникает проблема; в то время, когда код выполняется правильно, все мои операторы отладки выводятся на печать, но когда он не выполняется правильно, ни один из операторов не выводится, почти как зависание происходит до вызова конструктора. Есть идеи, что может случиться?