Como aplicar a getColumnClass resolveria meu problema? Eu já tenho ela configurada no meu ProdutoTableModel…
I
isaiaspf
Posta o método getColumnClass da sua classe ProdutoTableModel.
A
antoniojr.guj
@OverridepublicClass<?>getColumnClass(intcolumnIndex){switch(columnIndex){case0:returnString.class;case1:returnString.class;case2:returnString.class;default:thrownewIndexOutOfBoundsException("columnIndex fora dos limites!");}}
Taí!
I
isaiaspf
É o seguinte, na coluna que guarda valores inteiros você retorna Integer.class.
Digamos que as colunas de índices 0 e 1 guardam valores inteiros, então ficaria assim:@Override
public Class<?> getColumnClass(int columnIndex) {
switch(columnIndex) {
case 0 :
return Integer.class;
case 1 :
return Integer.class;
default :
return String.class;
}
}Ou seja, coluna 0 e 1 são Integer e as outras String.
A
antoniojr.guj
O problema persiste!
Acredito que o problema não está exatamente aí… Como você faz para mostrar os dados? Porque no meu método getTableProdutos() eu não uso getColumnClass() por exemplo!
I
isaiaspf
Perguntas:
Sua classe ProdutoTableModel herda AbstractTableModel?
Em que momento você seta este ProdutoTableModel no JTable (suaJTable.setModel(produtoTableModel))?
A
antoniojr.guj
Sim, claro! Tá até anexo…
E a tabela está setada no initComponents()… Na inicialização do Dialog.
Aparentemente só seu getColumnClass que tá diferente do que eu imagino como correto.
Acredito que se tu colocar desse jeito ele vai ordernar corretamente:@Override
public Class<?> getColumnClass(int columnIndex)
{
switch(columnIndex)
{
case 0:
return Integer.class;
default:
return String.class;
}
}O atributo id da classe Produto é Integer né?
A
antoniojr.guj
É String… Eu preciso que ele seja String… Bem, mas quando você falou sobre o getColumnClass() eu alterei a id do modelo pra int e fiz todas as alterações pra isso, inclusive alterando esse método do jeito que você escreveu… Enfim, não ficou ordenado!