Bom dia, pessoal.
Estou tentando fazer com que todas as linhas da coluna 0 de uma tabela fiquem com a cor vermelha, o background, a cor da letra pode ser preta mesmo. Para começar, peguei parte do código de um cara daqui mesmo do fórum, mas não estou conseguindo fazer ele funcionar, será que alguém poderia me dar uma ajuda?
//Classe Renderizador.java
import java.awt.Color;
import java.awt.Component;
import java.awt.Font;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;
public class Renderizador extends DefaultTableCellRenderer
{
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)
{
Component result = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
// Essas cores são só para testar, se desse certo, ajeitaria do modo que gostaria.
if (isSelected)
{
result.setFont(new Font("arial", Font.BOLD, 12));
result.setForeground(Color.white);
result.setBackground(Color.blue);
} else
{
result.setFont(new Font("arial", Font.PLAIN, 12));
result.setForeground(Color.gray);
result.setBackground(Color.black);
}
// Coloquei isso para alinhar tudo que vai ser mostrado na tabela no centro de cada célula.
this.setHorizontalAlignment(CENTER);
return super.getTableCellRendererComponent(table, value, isSelected,
hasFocus, row, column);
}
}
//Classe Interface.java
//Aqui tem parte do código que é desnecessário mostrar.
// "tab" é um
private Tabela tab = new Tabela();// Tabela é um AbstractTableModel a instanciação de JTable eu não mostrei aqui
this.jTable1.setModel(tab);
// Mostra a tabela com os valores centralizados corretamente, só que com todas as células pintadas.
// Eu só queria as da coluna 0.
this.jTable1.setDefaultRenderer(Object.class, new Renderizador());
Obrigado pela ajuda.
