Swing:在表格中闪烁特定单元格的计算效率最高的方法

Posted

技术标签:

【中文标题】Swing:在表格中闪烁特定单元格的计算效率最高的方法【英文标题】:Swing: most computationally-efficient way to blink particular cells in a table 【发布时间】:2012-03-26 07:26:58 【问题描述】:

我需要一种方法来引起对大型 JTable(20x16!)中特定单元格的注意,并且我想知道文本闪烁需要什么,例如开启 900 毫秒,关闭 100 毫秒。

(我熟悉TableCellRenderer的概念)

有没有办法只对有问题的单元格执行此操作,而不会导致所有单元格重绘?

【问题讨论】:

那么你必须阅读这个interesting thread,请整个线程,也由 (@kleopatra) 回答,而不仅仅是 (@Hovercraft Full Of Eels :-) 的链接帖子 :-) JTable 的享元渲染已经相当高效,但另请参阅 Christmas Tree Applications 同意!谢谢 - 请作为答案发布 “一个大的 JTable (20x16!)” 天啊老兄!我认为以前没有人尝试过在 Java 中显示包含 320 个或更多单元格的表格。您是否考虑过其他语言更适合这项艰巨的任务? ROTFL.. 仔细看,20 x 16 = 320,但20 x 16! = 502146957312000。请澄清。 【参考方案1】:

所需的占空比(900 毫秒开启,100 毫秒关闭)和计数 (20 x 16) 完全在 JTable 渲染的能力范围内,它使用 flyweight pattern 来提高效率。在分析权证的极少数情况下,请参阅文章Christmas Tree Applications。另请参阅 comparison 与 prepareRenderer() 方法。

附录:还要考虑JLabel 中的GridLayout,每个按钮都有自己的javax.swing.Timer 实例以避免同步闪烁。计时器共享一个公共线程。

【讨论】:

arrgghh ...又是那篇旧文章...请注意,它的底线是:获得我们可能尝试的任何肮脏的捷径并不多 :-)

以上是关于Swing:在表格中闪烁特定单元格的计算效率最高的方法的主要内容,如果未能解决你的问题,请参考以下文章

swing gui闪烁的白色错误

Swing jtable 怎么合并单元格 合并行 合并列

带有闪烁边框的表格单元格

Google 表格 - 返回包含特定文本的单元格的列号

在谷歌表格中提取特定单元格的公式

如何在 SQL Server 2012 中使用 html 更改表格中特定单元格的颜色?