App挂起调用DefaultCellEditor构造函数

时间:2009-05-26 20:23:45

标签: java user-interface

我可以控制构建在Eclipse上的一小部分应用程序,而且我在创建DefaultCellEditor时遇到问题。代码实际上使用了DefaultCellEditor的子类,但我可以使用DefaultCellEditor重新创建问题,这就是我要问的问题,希望它能解决实际类的问题。我用JDK 1.5和1.6尝试了这个,并且在两者中都有相同的行为。

调用DefaultCellEditor的构造函数时会发生问题:

log.debug("Trying construction.");
currentCellEditor = new DefaultCellEditor(new JTextField());
log.debug("Constructed OK.");

当这段代码运行时,可能有20%的时间,应用程序挂起,并且CPU被固定在100% - 看起来那里有一个无限循环,但我不知道在哪里。打印第一个日志行,但第二个日志行不打印。

我已经尝试制作DefaultCellEditor类的副本并在其中插入System.out.println语句,以查看是否可以找出问题发生的位置;在代码正确运行的时候,我的所有调试语句都被打印出来,但是当它没有正确运行时,没有打印出任何语句,就像在调用构造函数之前挂起一样。有什么想法会发生什么?

1 个答案:

答案 0 :(得分:0)

关于这个问题的两条评论都很有帮助。我能够使用线程转储并找出导致循环的原因(我最终使用StackTrace)。我的另一个问题是,当我早些时候在EDT上时,在此代码实际运行时,它不再在EDT上 - 所以现在我必须追踪它,但是一些早期的测试表明将它放在EDT上可能解决问题。谢谢!