Boa noite,
Visitei vários fóruns e não obtiver um resultado para o meu problema.
Estou precisando mudar um linha por completo caso o Status seja = CA.
Já estou usando uma Classe RendererCustom para centralizar algumas colunas e gostaria que nesta mesma classe pode-se retorna a cor da linha para o JTable.(já que irei usar o mesmo método para outros JTable em outras Classes).
Abaixo segue a Classe RendererCustom:
package ctrlAuxiliaries;
import javax.swing.SwingConstants;
import javax.swing.table.DefaultTableCellRenderer;
public class RendererCustom {
DefaultTableCellRenderer cellRender = new DefaultTableCellRenderer();
public DefaultTableCellRenderer getAlinhamentoColumn(String tipo){
cellRender.setHorizontalAlignment(getAlinhamentoColum(tipo));
return cellRender;
}
private int getAlinhamentoColum(String alinhamento){
switch(alinhamento){
case "centro":
return SwingConstants.CENTER;
case "direita":
return SwingConstants.RIGHT;
default:
return SwingConstants.LEFT;
}
}
}
Abaixo segue a Classe **o método para inserir os Clientes**:
private void pnVisualizar() {
/* Tabela Clientes */
mdClientes = new DefaultTableModel(new Object[]{
"ID", "CPF", "NOME", "ESPECIFICAÇÃO", "CEL01", "CEL02", "TEL",
"BAIRRO", "CIDADE", "UF", "LOGADOURO", "Nº", "COMPLEMENTO", "CEP", "STATUS"
},0);
tbClientes = new JTable(mdClientes);
tbClientes.setAutoResizeMode(0);
// ID
tbClientes.getColumnModel().getColumn(0).setPreferredWidth(40);
tbClientes.getColumnModel().getColumn(0).setResizable(false);
tbClientes.getColumnModel().getColumn(0).setCellRenderer(
new RendererCustom().getAlinhamentoColumn("centro")
);
//CPF
tbClientes.getColumnModel().getColumn(1).setPreferredWidth(100);
tbClientes.getColumnModel().getColumn(1).setResizable(false);
tbClientes.getColumnModel().getColumn(1).setCellRenderer(
new RendererCustom().getAlinhamentoColumn("centro")
);
//NOME
tbClientes.getColumnModel().getColumn(2).setPreferredWidth(300);
//ESPECIFICAÇÃO
tbClientes.getColumnModel().getColumn(3).setPreferredWidth(105);
tbClientes.getColumnModel().getColumn(3).setCellRenderer(
new RendererCustom().getAlinhamentoColumn("centro")
);
//CEL01
tbClientes.getColumnModel().getColumn(4).setPreferredWidth(105);
tbClientes.getColumnModel().getColumn(4).setResizable(false);
tbClientes.getColumnModel().getColumn(4).setCellRenderer(
new RendererCustom().getAlinhamentoColumn("centro")
);
//CEL02
tbClientes.getColumnModel().getColumn(5).setPreferredWidth(105);
tbClientes.getColumnModel().getColumn(5).setResizable(false);
tbClientes.getColumnModel().getColumn(5).setCellRenderer(
new RendererCustom().getAlinhamentoColumn("centro")
);
//TEL
tbClientes.getColumnModel().getColumn(6).setPreferredWidth(105);
tbClientes.getColumnModel().getColumn(6).setResizable(false);
tbClientes.getColumnModel().getColumn(6).setCellRenderer(
new RendererCustom().getAlinhamentoColumn("centro")
);
//BAIRRO
tbClientes.getColumnModel().getColumn(7).setPreferredWidth(100);
//CIDADE
tbClientes.getColumnModel().getColumn(8).setPreferredWidth(120);
//UF
tbClientes.getColumnModel().getColumn(9).setPreferredWidth(25);
tbClientes.getColumnModel().getColumn(9).setResizable(false);
tbClientes.getColumnModel().getColumn(9).setCellRenderer(
new RendererCustom().getAlinhamentoColumn("centro")
);
//LOGADOURO
tbClientes.getColumnModel().getColumn(10).setPreferredWidth(300);
//Nº
tbClientes.getColumnModel().getColumn(11).setPreferredWidth(35);
tbClientes.getColumnModel().getColumn(11).setResizable(false);
tbClientes.getColumnModel().getColumn(11).setCellRenderer(
new RendererCustom().getAlinhamentoColumn("centro")
);
//COMPLEMENTO
tbClientes.getColumnModel().getColumn(12).setPreferredWidth(200);
//CEP
tbClientes.getColumnModel().getColumn(13).setPreferredWidth(70);
tbClientes.getColumnModel().getColumn(13).setResizable(false);
tbClientes.getColumnModel().getColumn(13).setCellRenderer(
new RendererCustom().getAlinhamentoColumn("centro")
);
//STATUS
tbClientes.getColumnModel().getColumn(14).setPreferredWidth(25);
tbClientes.getColumnModel().getColumn(14).setResizable(false);
tbClientes.getColumnModel().getColumn(14).setCellRenderer(
new RendererCustom().getAlinhamentoColumn("centro")
);
/* inserção das informações */
mdClientes.addRow(new Object[]{
"01", "111.111.111-11" , "GIVALDO DA SILVA MEDEIROS NETO",
"FAMILIAR", "(84) 9 9999-9999", "", "", "N. PARNAMIRIM", "PARNAMIRIM",
"RN", "RUA HELP EM JAVA", "77", "APTO 401", "59000-000", "CA"
});
/* fim da inserção das informações */
tbClientes.setRowHeight(30);
spClientes = new JScrollPane(tbClientes);
spClientes.setBounds(10, 20, 1100, 390);
spClientes.setViewportView(tbClientes);
pnVisualizar.add(spClientes);
add(pnVisualizar);
}
Atenciosamente,
Givaldo Neto