Problema com String[]

3 respostas
malves_info
Tenho a seguinte classe e metodo que cria uma JTable:
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;
    }
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[]. :(

3 Respostas

ViniGodoy

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

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…

Criado 16 de outubro de 2007
Ultima resposta 17 de out. de 2007
Respostas 3
Participantes 2