Resolvi da sequinte forma abaixo refiz o ColorRenderer e nao ficou mais lento:
[code]package model;
import javax.swing.BorderFactory;
import javax.swing.JLabel;
import javax.swing.JTable;
import javax.swing.border.Border;
import javax.swing.table.TableCellRenderer;
import java.awt.Color;
import java.awt.Component;
import javax.swing.table.DefaultTableCellRenderer;
public class ColorRenderer extends DefaultTableCellRenderer {
@Override
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
Component c = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
table.setRowHeight(25);
if(!isSelected){
if(row %2 ==0 && row != 1){
c.setBackground(new Color(250,250,250));
c.setForeground(new Color(100,100,100));
}else{
c.setBackground(Color.WHITE);
c.setForeground(new Color(100,100,100));
}
}else{
c.setBackground(new Color(150,150,150));
c.setForeground(new Color(0,0,0));
}
return this;
}
}[/code]
mas mesmo assim qro usar um profiler para testar meus métodos, tem um método que inicia ao abrir o programa de um relógio normal que está deixando o uso do processador e memória elevado, tipo uns 350MB, se desativo ele, o sistema fica com uns 50MB apenas na mem ram…
o que pode ser?
esse é o meu médoto do relogio:
public void iniciaRelogio(){
new Thread(){
public void run(){
try{
while(true){
d = new Date();
status.setText("Hora: "+sdf.format(d)+" - Data: "+sdfd.format(d));
}
}catch(Exception e){
}
}
}.start();
}
e me aproveitando dos teus conhecimentos como faço um log correto que me passe os erros qdo tiver com essa classe abaixo?
[code]package model;
import java.io.IOException;
import java.util.logging.FileHandler;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.logging.SimpleFormatter;
public class GeradorLog {
private static GeradorLog instancia = null;
private String nomeArquivo = “log.txt”;
private Level level = null;
private Logger logger = null;
FileHandler fh = null;
private GeradorLog(){
if (level == null)
level = Level.ALL;
logger = Logger.getLogger("GeradorLog");
try {
fh = new FileHandler(nomeArquivo,true);
SimpleFormatter formatter = new SimpleFormatter();
fh.setFormatter(formatter);
logger.setUseParentHandlers(true);
logger.addHandler(fh);
logger.setLevel(level);
} catch (SecurityException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public void setLevel(Level level){
instancia.logger.setLevel(level);
}
public synchronized static GeradorLog getInstance(){
if (instancia == null){
instancia = new GeradorLog();
}
return instancia;
}
public void log(Level level, String mensagem){
logger.log(level, mensagem);
}
}[/code]
desculpa tanta pergunta, mas realmente estou precisando resolver estes problemas e to pesquisando na net e nao acho nada.