[RESOLVIDO] Problemas com ordenação e Renderização de jTable
6 respostas
R
rodrigobela
Olá pessoal,
Tenho uma jTable que está recebendo um renderer para deixar o texto verde numa determinada situação e vermelho em outra.
Quando a tabela é apresentada pela primeira vez, ela fica certinha. Mas se eu clico para organizá-la, o conteúdo das linhas é alterado mas a formatação não. Por exemplo: A tabela tem a linha um com um item que em vermelho e a linha com dois com um item em verde.
Ao reorganizar a tabela, o item da linha dois foi para a linha um mas deveria continuar aparecendo em verde e vice-versa. Mas isso não acontece.
Se você estiver usando um TableCellRenderer para mudar as cores da célula desejada, não se esqueça de usar JTable.convertColumnIndexToModel() e JTable.convertRowIndexToModel() para mapear corretamente linhas e colunas deslocadas em relação à posição original.
R
rodrigobela
Roger,
Fiquei em duvida de como utilizar estes métodos.
Eu já havia imaginado que eu precisaria reorganizar o model para que o view ficasse correto.
Mas minha duvida era (em parte ainda é):
como faço para capturar que a tabela a view foi reorganizada por uma determinada coluna?
onde exatamente são chamados os métodos que você me disse?
Sou iniciante e estou bem perdido com essa situação.
Desde já agradeço sua atenção
R
roger_rf
Segue em anexo um exemplo de como usar JTable.convertColumnIndexToModel() para levar em conta colunas deslocadas, de forma análoga pode-se usar JTable.convertRowIndexToModel() para levar em conta linhas deslocadas. Os métodos citados devem ser usados numa classe que implementa a interface TableCellRenderer.
R
rodrigobela
Roger,
O código funcionou perfeitamente!
Muito obrigado pela ajuda!!
Abraço
R
roger_rf
Grato em ter sido útil Uma última sugestão: quanto um tópico seu tiver uma solução, seja indicada por outra pessoa ou encontrada por você, inclua no título do tópico a tag [RESOLVIDO]. Isso facilita a vida de outros participantes do fórum que estejam procurando soluções parecidas.