Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 应用程序挂起调用DefaultCellEditor构造函数_Java_User Interface - Fatal编程技术网

Java 应用程序挂起调用DefaultCellEditor构造函数

Java 应用程序挂起调用DefaultCellEditor构造函数,java,user-interface,Java,User Interface,我可以控制构建在Eclipse上的应用程序的一小部分,但在创建DefaultCellEditor时遇到了问题。代码实际上使用了DefaultCellEditor的一个子类,但我可以使用DefaultCellEditor重新创建问题,所以这就是我要问的,希望它能解决实际类的问题。我在JDK1.5和1.6中都试过了,得到了相同的行为 调用DefaultCellEditor的构造函数时会出现问题: log.debug("Trying construction."); currentCellEditor

我可以控制构建在Eclipse上的应用程序的一小部分,但在创建DefaultCellEditor时遇到了问题。代码实际上使用了DefaultCellEditor的一个子类,但我可以使用DefaultCellEditor重新创建问题,所以这就是我要问的,希望它能解决实际类的问题。我在JDK1.5和1.6中都试过了,得到了相同的行为

调用DefaultCellEditor的构造函数时会出现问题:

log.debug("Trying construction.");
currentCellEditor = new DefaultCellEditor(new JTextField());
log.debug("Constructed OK.");
当这段代码运行时,可能有20%的时间,应用程序挂起,CPU固定在100%——看起来在某个地方有一个无限循环,但我不知道在哪里。打印第一行日志,但不打印第二行日志


我试着复制DefaultCellEditor类,并在其中插入System.out.println语句,看看是否能找出问题发生的地方;在代码正确运行期间,我的所有调试语句都会打印出来,但如果代码运行不正确,则不会打印出任何语句,这与调用构造函数之前发生的挂起差不多。有什么想法吗?

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

您可以执行线程转储(Windows上的控制中断)并查看线程正在运行或等待的位置。一如既往,请确保您正在AWT EDT中运行。