Olá pessoal!
Demorei mas apareci! :oops:
Seguinte, tenho uma classe MinhaTableCellRenderer que extends DefaultTableCellRenderer.
No método getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column), eu implementei coisinhas que preciso, aquelas conhecidas sabe? Mudar a cor, mudar o tamanho da linha, fonte, etc, etc…
Meu problema está no fato de que isso está elevando o processamento demais. Então por ex, suponhamos que eu abro o Gerenciador de tarefas do Windows e o uso de CPU está em 3% (com meu sistema aberto, tudo rodando). Ai eu abro uma tela que tem um JTable usando esse Renderer e adivinhem? O processamento vai pra 30%!!!
Tenho casos em que qdo mais de um usuário acessa a tal tela (via comunicação, TS por ex), o consumo de CPU do servidor de aplicação sobe até dar o topo e travar tudo.
Sei que o tal método getTableCellRendererComponent fica sendo chamado seguidamente enquanto o JTable está sendo apresentado. Coloquei um “sysout” dentro dele e é chamado seguidamente, o tempo todo.
Por acaso alguém tem alguma dica do que posso fazer pra continuar com meu JTable personalizado (com cores, etc, etc…) e reduzir esse processamento de CPU? Não tem como eu de alguma forma fazer as personalização das linhas só a primeira vez que ela for acessada? É um caso onde o conteúdo do JTable não vai ser alterado, ele é carregado uma vez e pronto, não muda, é uma espécie de consulta, ele não precisaria ficar renderizando o tempo todo.
Alguma dica?
Grata,
Renata
