gpt4 book ai didi

java - 如何使用TableColumnModelListener根据java中的重新定位来更改列颜色

转载 作者:行者123 更新时间:2023-12-01 09:16:57 26 4
gpt4 key购买 nike

我有一个包含四列的表格,名为ID、名称、主题、标记
如果分数低于 35,那么我会将 Marks 列颜色更改为 RED,否则 BLACK

在这里,我遇到一个问题,如果我更改Marks的列位置,那么它会变成“黑色”,并且当前位于标记位置的列会变成彩色。

我尝试实现 TableColumnModelListener 并重写 columnMoved() 方法。当我尝试将列索引获取为 tableModel.getColumnIndex("Marks") 时,它仍然给出以前的位置索引,但不是新的位置索引。

有没有办法通过传递名称来获取新的列索引?

最佳答案

您正在 TableCellRenderer 的实现中设置颜色(可能源自 DefaultTableCellRenderer )。 getTableCellRendererComponent 中报告的 rowcolumn 索引方法是 View 索引,而不是模型索引。您很可能使用 View 索引来索引模型,反之亦然。

您可以使用任何 JTable.convertXXXIndexToModel 方法将索引从 View 更改为模型,或者通过 JTable.convertXXXIndexToView 将索引从模型更改为 View (其中 XXX)。请参阅JTable class documentation了解更多详情。

关于java - 如何使用TableColumnModelListener根据java中的重新定位来更改列颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40482362/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com