java - 更改 Jtable 中特定单元格的字体颜色

标签 java colors jtable foreground cellrenderer

DefaultTableCellRenderer cellRender = new DefaultTableCellRenderer();
for(int i = 0; i < tblPackage.getRowCount(); i++)
{
    if("ACTIVE".equals(tblPackage.getModel().getValueAt(i, 3).toString()))
    {
                cellRender.setForeground(Color.GREEN);
    }
}

我的表中有 4 列...如果数据的第 4 列等于“ACTIVE”字样,它将变为绿色...我该怎么做??我的逻辑有问题吗??

最佳答案

您应该覆盖 DefaultTableCellRenderergetTableCellRendererComponent:

        public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected,
                boolean hasFocus, int row, int column)
        {
            Component c = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);

            if(table.getColumnModel().getColumn(column).getIdentifier()
                    .equals(your_4th_column_identifier)) // or use getColumnAt(4)
            {
                if(value.toString().equals("ACTIVE"))
                {
                    c.setBackground(Color.GREEN);
                }
            }
            return c;
        }

关于java - 更改 Jtable 中特定单元格的字体颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21374629/

相关文章:

java - 如何修复 : Google Play services out of date. 需要 12210000 但找到 10298470

java - 我如何在 Java JSP 的 JSTL 中执行 "nested if"?

image-processing - 如何增加从图像生成的颜色之间的对比度?

java - JTable 行标题文本

Java Swing JTable 列值和标题全宽,怎么可能?

java - 设置 JTable 内 JTextField 的大小

java - 在 C# 和可执行 JAR 之间交换数据的最佳方式

java - 在java中输出一个正方形到控制台

java - 如何在 BufferedImage 中使颜色透明并另存为 PNG

html - 动态改变颜色的菜单