Tenho a seguinte classe e metodo que cria uma JTable:
publicclassJTableBr{privateJTablejTable;privateObject[][]dados=null;privateString[]colunas=null;publicJTableBr(){};publicJTablecreateJTable(Object[][]dados,String[]colunas){//Cria o Object de dadosthis.dados=newObject[][]{dados};//Cria as colunasthis.colunas=newString[]{colunas};//ModeloDefaultTableModelmodelo=newDefaultTableModel(this.dados,this.colunas);this.jTable=newJTable(modelo);returnthis.jTable;}
So que quando faço a seguinte operação no metodo createJTable :
this.colunas = new String[]{colunas};
Esta dando o erro Type mismatch: cannot convert from String[] to String, sendo que o atributo colunas declarado no paramento do metodo é do Tipo String[]. :(
Tente copiar os dados do Array de Strings usando a função System.arrayCopy.
Na prática, o correto é implementar o seu TableModel, filho de AbstractTableModel. Usar o default vai deixar o seu código mais complicado, mais espalhado e menos orientado a objetos.
malves_info
Blza… vou testar essa função aqui se der algo errado ou dar certo eu aviso aqui… Não implementei meu Modelo porque to aprendendo ainda a mexer com Jtable mas tenho uns tuto aqui que ensina… Se vc tiver tbm algum ae pra ajudar eu agradeço…
ViniGodoy
Não tem muito segredo.
Cada método do TableModel descreve para table o seu conteúdo.
A table chama o método dizendo “Quero saber o que tem na coluna x e na linha y” e vc responde “tem esse objeto aqui”. Outro método a table usa para perguntar “quantas linhas eu tenho?”.