Quantcast
Channel: Programação - GUJ
Viewing all articles
Browse latest Browse all 33093

Mudar a cor da linha de um JTable

$
0
0

@Givaldo_RN escreveu:

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

Mensagens: 1

Participantes: 1

Ler tópico completo


Viewing all articles
Browse latest Browse all 33093


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>