salve galera…
seguinte, eu tenho uma JTable onde faço varias customizacoes, quero criar uma classe para deixar essas customizacoes sempre prontas, assim eu teria um arquivo de configuracoes.
estou tentando assim.
//classe de configuracoes
public class ConfiguracoesTabela {
private JTable tabela;
private DefaultTableCellRenderer renderer = null;
public void setConfiguracoesTabela(JTable tabela){
setRenderer(new DefaultTableCellRenderer());
setTabela(tabela);
}
public void setTabela(JTable tabela){
this.tabela = tabela;
}
public JTable getTabela(){
return this.tabela;
}
public void setRenderer(DefaultTableCellRenderer renderer){
this.renderer = renderer;
}
public DefaultTableCellRenderer getRenderer(){
return this.renderer;
}
public void setTamanhoColuna(int col, int tamanho){
getTabela().getColumnModel().getColumn(col).setPreferredWidth(tamanho);
}
public void alinharEsquerda(int col) {
getRenderer().setHorizontalAlignment(SwingConstants.LEFT);
getTabela().getColumnModel().getColumn(col).setCellRenderer(getRenderer());
}
public void alinharCentro(int col){
getRenderer().setHorizontalAlignment(SwingConstants.CENTER);
getTabela().getColumnModel().getColumn(col).setCellRenderer(getRenderer());
}
public void alinharDireita(int col){
getRenderer().setHorizontalAlignment(SwingConstants.RIGHT);
getTabela().getColumnModel().getColumn(col).setCellRenderer(getRenderer());
}
}
//aqui invoco a classe
ConfiguracoesTabela configTable = new ConfiguracoesTabela();
configTable.setConfiguracoesTabela(tabelaPaises);
configTable.setTamanhoColuna(0, 50);
configTable.setTamanhoColuna(1, 200);
configTable.alinharDireita(0);
configTable.alinharEsquerda(1);
O problema eh q o setTamanhoColuna(0, 50); e o alinharDireita(0) nao funcionam…Eh como se ele aceitasse apenas o ultimo, alinharEsquerda(1) e setTamanhoColuna(200)…
Respeita apenas as ultimas configuracoes passadas referentes a configuracao.
configTable.setTamanhoColuna(1, 200); //todas as colunas ficam com tamanho 200, naum soh a coluna 1
configTable.alinharEsquerda(1); //todas as colunas ficam com alinhamento a esquerda, naum soh a 1
Como resolver isso ?
obrigado