可见时的JXTable高CPU

时间:2019-01-10 20:38:36

标签: java jxtable

我正在调试旧代码,该旧代码使用JXTable显示少量数据(<100个条目)。所有功能均可使用,但是当表中至少有一个条目时,如果显示窗格,则CPU使用率将攀升至95%以上。仪器显示,高亮方法每毫秒被调用几次。 仅当表格可见(选择了其他选项卡)时,才调用Highlight方法。 我正在尝试在一个小样本中复制它,但这还行不通。我只是想知道是否有人看到过类似的行为并提出了解决方案。 图书馆:swingx-1.0.jar Java:jdk1.8.0_144

1 个答案:

答案 0 :(得分:0)

这是我的*代码。在cellRenderer()中,有一个对setRowHeight()的调用。这导致窗格被标记为脏。因此,在下一个循环中,它将执行repaint()。 repaint()调用了我的cellRenderer()。因此,只要窗格可见,就创建一个重画循环。解决方案是删除对setRowHeight()的调用,因为无论如何都不需要它。 *之所以说我的代码,是因为我现在对此负责。这个问题是在我加入公司之前很久才出现的。