[Resolvido]Tabela personalizado, letras

3 respostas
Scorsatto

Gostaria de saber se existe a possibilidade de adicionar cores no texto das linhas da minha tabela.

tenho um controle de OS ( ordem de serviço )
e gostaria de mostrar as em atraso na cor vermelha e as vincendas em azul.

private void MontaTela() {
        CControleInicial controleOs = new CControleInicial();
        lstOS = controleOs.PesquisarOsMontaTela();
        javax.swing.table.DefaultTableModel dtm = (javax.swing.table.DefaultTableModel) tableOSHoje.getModel();
        dtm.setRowCount(0);
        for (int i = 0; i <= lstOS.size() - 1; i++) {
            dtm.addRow(new Object[]{lstOS.get(i).getCodOS(), lstOS.get(i).getClienteNome(), new SimpleDateFormat("dd/MM/yyyy").format(lstOS.get(i).getDataEntrega()) });
        }
    }

3 Respostas

W

Caro Scorsatto,
Analisando o seu codigo, percebi que você esta usando DefaultTableModel, primeiramente sugiro que você não utilize este metodo, procure aqui no forum mesmo sobre AbstractTableModel, é uma forma bem melhor de trabalhar com table em swing, e respondendo sua pergunta, é possivel sim mudar a cor das letras, mas recomendo que voce implemente a sua propria TableCellRenderer que será a responsavel por isso, você irá utilizar o metodo setForeground(Color), procura aqui no forum mesmo, tem um monte de exemplos.

ViniGodoy

Um deles é esse aqui: http://www.guj.com.br/posts/list/217182.java

Outra coisa, com o DefaultTableModel é impossível fazer o que você quer. Portanto, reforço a dica do colega, e digo para você aprender a montar seu próprio TableModel. Não só é mais fácil do que usar o default, como também mais seguro, mais rápido, ocupa menos memória e deixa a solução mais orientada a objetos e mais próxima do MVC. Siga os links da minha assinatura para aprender a como usa-lo.

Scorsatto

Muito obrigado willCesar e ViniGodoy, vocês foram de grande ajuda!

Criado 8 de setembro de 2010
Ultima resposta 9 de set. de 2010
Respostas 3
Participantes 3