2015-03-13 86 views
-1

我想用一个函数来扩展DefaultTableModel类,让我设置特定行的颜色。所以我们可以说我有一个有30行的表格,并且想用红色对第12行进行着色。将“setRowColor”方法添加到DefaultTableModel

我想调用的功能等:

JTable table = new JTable(); 
DefaultTableModel model = new DefaultTableModel(); 
table.setModel(model); 

[...]

model.setRowColor(12, Color.RED); 

[...]

我知道有关于许多类似的问题主题“颜色JTable行”,但我无法实现任何这些解决方案。也许somebode可以帮助我理解自定义渲染器以及如何实现我的自定义方法。

+1

有两种方法1. prepareRenderer(在API中实现的最简单的方法和方法),在装饰品取决于存储在DefaultTableModel中的值的情况下,2.将颜色数组作为模型中的一部分存储在模型中来自GUI – mKorbel 2015-03-13 06:27:57

+0

的其余部分的参数与down_voter一致,这里是许多SSCCE/MCVE形式的代码,我认为,确保链接线程保护您的问题,显示您的努力 – mKorbel 2015-03-13 06:31:20

+0

'TableModel'不负责执行此操作,让渲染器去做......或者使用SwingLabs SwingX库中提供突出显示功能的'JXTable' – MadProgrammer 2015-03-13 06:38:06

回答

0

如果包含布尔值的单元格为真(选中),则相应的行应为绿色。

Table Row Rendering显示了如何根据行中的值对行进行着色。