Problema com String[]

Tenho a seguinte classe e metodo que cria uma JTable:

[code]public class JTableBr{
private JTable jTable;
private Object[][] dados = null;
private String[] colunas = null;

public JTableBr(){
			
};

public JTable createJTable(Object[][] dados,String[] colunas){
	
	//Cria o Object de dados
	this.dados = new Object[][]{dados};
	
	//Cria as colunas
	this.colunas = new String[]{colunas};
	
	//Modelo
	DefaultTableModel modelo = new DefaultTableModel(this.dados,this.colunas);
	
	this.jTable = new JTable(modelo);
	    	
	return this.jTable;
}[/code]

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[]. :frowning:

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.

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…

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?”.

Eu postei um exemplo de um TableModel simplificado, neste link:
http://www.guj.com.br/posts/list/57203.java#300612

Faça o download e dê uma estudada. :slight_smile:

Poupa muitas dores de cabeça…