在Java中,如何在运行时加粗或着色包含特定文本的JTable行

在Java中,如何在运行时加粗或着色包含特定文本的JTable行,java,swing,jtable,defaulttablemodel,Java,Swing,Jtable,Defaulttablemodel,我有一个aJTable,它从数据库中检索和显示数据 显示数据如下表所示 上图第2列中有大量的TOTAL,第1列中有大量的Grand TOTAL。我的问题是,我想使包含TOTAL和Grand TOTAL列的列整行必须为粗体或任何括号圆形,以使其更具体 请帮助目前,您的表似乎将所有数据存储为字符串数据,因此建议创建自定义渲染器 但是,我不认为对所有数据使用字符串是有意义的。我看到很多列都有数字,包括整数值和双数值。在这些列中,数据应存储为整数和双精度,因此可以使用适当的渲染器来显示数据 在这种情况

我有一个a
JTable
,它从数据库中检索和显示数据

显示数据如下表所示

上图第2列中有大量的
TOTAL
,第1列中有大量的
Grand TOTAL
。我的问题是,我想使包含
TOTAL
Grand TOTAL
列的列整行必须为粗体或任何括号圆形,以使其更具体


请帮助

目前,您的表似乎将所有数据存储为字符串数据,因此建议创建自定义渲染器

但是,我不认为对所有数据使用字符串是有意义的。我看到很多列都有数字,包括整数值和双数值。在这些列中,数据应存储为整数和双精度,因此可以使用适当的渲染器来显示数据

在这种情况下,您现在需要创建多个渲染器来高亮显示数据行

对于另一种方法,您可以自定义表的
prepareRenderer(…)
方法来突出显示行。此方法不关心数据,因此只需要在一个位置使用逻辑


查看此方法的工作示例。

您需要一个能够执行此操作的
TableCellRenderer
。最终实现它的方法取决于数据的结构,因为每个单元格都需要能够根据前两列的状态来确定是否应该加粗,以从列中转换字符串值(视图可以返回一个对象)并使用prepareRenderer