Atualizar jTable

5 respostas
R

Bom dia Pessoal,

Estou tentando utilizar o jTable (sou iniciante). Para isso crieu um modelo conforme tutorial do próprio GUJ. Funciona perfeitamente. Só que preciso colocar novos valores, isto é, apagar os que estão no jTable e colocar outros conforme pesquisa em um banco de dados. Não consigo apagar os dados iniciais e mostrar os novos. A tabela continua mostrando os iniciais. A pesquisa no banco traz novos valores só não consigo colocá-los na jTable. Não existe algo parecido com refresh na tabela? Vejam abaixo um exemplo simples como estou fazendo(ainda não esta carregando os dados do banco).

private JTable getJTable1() {
		if (jTable1 == null) {
			try {
			    String[] colunas = new String[] {"Sigla","Descrição"};			    
			    dados.add(new String[] { "SP", "São Paulo" });
			    dados.add(new String[] { "RJ", "Rio de Janeiro" });
			    dados.add(new String[] { "RN", "Rio Grande do Norte" });
			    dados.add(new String[] { "ES", "Espirito Santo" });			    
			    
			    SimpleTableModel modelo = new SimpleTableModel(dados, colunas);
			    
			    modelo.fireTableDataChanged();
				jTable1 = new JTable(modelo);				
			}
			catch (java.lang.Throwable e) {
				// TODO: Something
			}
		}
		else {
		    //PORQUE ISSO NÃO APARECE
		    System.out.println("False");
		    dados.add(new String[] { "ES", "Espirito Santo" });
		    dados.add(new String[] { "RJ", "Rio de Janeiro" });    
		    
		    SimpleTableModel modelo = new SimpleTableModel(dados, colunas);
		    
			jTable1 = new JTable(modelo);				    
		}
		jTable1.repaint();
		return jTable1;
	}

Desde já agradeço a colaboração,

Renato :cry:

5 Respostas

pauloperes

Renato,

Faço da seguinte forma:

// Colunas
String[] colunas = new String[]{"Código","Nome","Endereço"};

// Crio um TableModel e não um SimpleTableModel

javax.swing.table.DefaultTableModel modeloTabela = new javax.swing.table.DefaultTableModel(null,colunas){
        public boolean isCellEditable(int row, int col){
            return false;   
        }

// Depois é só fazer assim
modeloTabela.addRow(new String[] {"Cliente","NOME_CLIENTE","END_CLIENTE"});

Veja a documentação
http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/DefaultTableModel.html

Valeu,

Paulo

marcioa1

Renato,

Onde você declarou jTable1 ? Por que não coloca um rbeak point no teste if (jTable1 == null) { para ver o conteudo de jTable1 ?

Márcio

paulinhohd

Antes de perguntar, sem querer ser chato, mas é o correto, se passou pelo Google e não obteve sucesso, faça uma busca aqui mesmo no Fórum…

Eu já passei pelo seu problema e já resolvi…

Postei igualmente aqui:

Dê uma olhada: http://www.guj.com.br/posts/list/25539.java

Qualquer dúvida poste novamente…

Valeu! 8)

R

Obrigado Pessoal,

Principalmente a você Paulo Roberto. O endereço http://www.guj.com.br/posts/list/25539.java
me respondeu.

Até…

Abraços,

Renato :stuck_out_tongue:

paulinhohd

Depois vc deposita os R$10,00 na minha conta hauhauha…

Valeu! 8)

Criado 23 de junho de 2005
Ultima resposta 23 de jun. de 2005
Respostas 5
Participantes 4