Boa tarde;
Já procurei e não achei o que pode estar errado com o Renderer abaixo.
A coloração funciona perfeitamente, mas o alinhamento não.
Alguém pode me ajudar ?
package utilitarios;
import java.awt.Color;
import java.awt.Component;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.TableCellRenderer;
public class ColorirCelulas extends DefaultTableCellRenderer implements TableCellRenderer
{
@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)
{
super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
Color nomeCor = new Color(255,255,204);
setBackground(nomeCor);
nomeCor = new Color(0,0,0);
setForeground(nomeCor);
if (column == 18)
{
if (value != null)
{
if (value.toString().equals("1"))
{
nomeCor = new Color(0,176,80);
setBackground(nomeCor);
nomeCor = new Color(0,0,0);
setForeground(nomeCor);
}
if (value.toString().equals("3"))
{
nomeCor = new Color(146,208,80);
setBackground(nomeCor);
nomeCor = new Color(0,0,0);
setForeground(nomeCor);
}
if (value.toString().equals("5"))
{
nomeCor = new Color(255,255,0);
setBackground(nomeCor);
nomeCor = new Color(0,0,0);
setForeground(nomeCor);
}
if (value.toString().equals("7"))
{
nomeCor = new Color(255,192,0);
setBackground(nomeCor);
nomeCor = new Color(0,0,0);
setForeground(nomeCor);
}
if (value.toString().equals("9"))
{
nomeCor = new Color(255,0,0);
setBackground(nomeCor);
nomeCor = new Color(255,255,255);
setForeground(nomeCor);
}
}
}
if (column == 19)
{
if (table.getValueAt(row, column+1) != null)
{
if (table.getValueAt(row,column+1).equals("Faixa Livre"))
{
nomeCor = new Color(0,176,80);
setBackground(nomeCor);
nomeCor = new Color(0,0,0);
setForeground(nomeCor);
}
if (table.getValueAt(row,column+1).equals("Faixa Laranja"))
{
nomeCor = new Color(255,192,0);
setBackground(nomeCor);
nomeCor = new Color(0,0,0);
setForeground(nomeCor);
}
if (table.getValueAt(row,column+1).equals("Faixa Amarela"))
{
nomeCor = new Color(255,255,0);
setBackground(nomeCor);
nomeCor = new Color(0,0,0);
setForeground(nomeCor);
}
if (table.getValueAt(row,column+1).equals("Fora da Tabela"))
{
nomeCor = new Color(255,255,0);
setBackground(nomeCor);
nomeCor = new Color(255,255,255);
setForeground(nomeCor);
}
}
}
if (column == 20 || column == 21)
{
if (value != null)
{
if (value.equals("Faixa Livre"))
{
nomeCor = new Color(0,176,80);
setBackground(nomeCor);
nomeCor = new Color(0,0,0);
setForeground(nomeCor);
}
if (value.equals("Faixa Laranja"))
{
nomeCor = new Color(255,192,0);
setBackground(nomeCor);
nomeCor = new Color(0,0,0);
setForeground(nomeCor);
}
if (value.equals("Faixa Amarela"))
{
nomeCor = new Color(255,255,0);
setBackground(nomeCor);
nomeCor = new Color(0,0,0);
setForeground(nomeCor);
}
if (value.equals("Fora da Tabela"))
{
nomeCor = new Color(255,255,0);
setBackground(nomeCor);
nomeCor = new Color(255,255,255);
setForeground(nomeCor);
}
}
}
switch (column)
{
case 0: setHorizontalAlignment(LEFT);
case 1: setHorizontalAlignment(CENTER);
case 2: setHorizontalAlignment(LEFT);
case 3: setHorizontalAlignment(LEFT);
case 4: setHorizontalAlignment(CENTER);
case 5: setHorizontalAlignment(LEFT);
case 6: setHorizontalAlignment(CENTER);
case 7: setHorizontalAlignment(CENTER);
case 8: setHorizontalAlignment(CENTER);
case 9: setHorizontalAlignment(CENTER);
case 10: setHorizontalAlignment(CENTER);
case 11: setHorizontalAlignment(CENTER);
case 12: setHorizontalAlignment(CENTER);
case 13: setHorizontalAlignment(CENTER);
case 14: setHorizontalAlignment(CENTER);
case 15: setHorizontalAlignment(CENTER);
case 16: setHorizontalAlignment(CENTER);
case 17: setHorizontalAlignment(CENTER);
case 18: setHorizontalAlignment(CENTER);
case 19: setHorizontalAlignment(LEFT);
case 20: setHorizontalAlignment(LEFT);
case 21: setHorizontalAlignment(CENTER);
case 22: setHorizontalAlignment(CENTER);
case 23: setHorizontalAlignment(LEFT);
default: setHorizontalAlignment(LEFT);
}
return this;
}
}