Re:Dúvida com JTable

Faz o seguinte,

da uma olhada se o ResultSet está trazendo as informações :wink:

Ja tentou usar o DefaultTableModel no lugar do seu model ai…

pq se as linhas

head.add(rsmd.getColumnName(a)); body.add(bv);
funcionam…

Ate onde eu sei deveria aparecer os dados, tenta o DetaultTableModel:

[code]DefaultTableModel model = (DefaultTableModel) titulosEAutoresJTable.getModel();

	int cont = model.getRowCount();
	
	for (int i=0; i<cont; i++)
	{
	model.addRow(new Object[]{"seuDadoDaColuna0","seuDadoDaColuna1"});
	}[/code]

Não sei… :expressionless:

O text está funcionando certinho…

[code]search.addActionListener(this); // JTextField que faz o filtro.

else if(ke.getSource() == search) {
String text = search.getText();
//tenta isso pra ver se o text funciona
System.out.println(text);
sorter.setRowFilter(RowFilter.regexFilter(text));
}[/code]

Coloca o código inteiro ai pra gente ver se acha o problema, pq estou dando uns chutes aqui e não estou acertando… :wink:

Pesoal,
Tenho um JTable que faz uma consulta no banco e retorna o resultado, tenho tbm um JTextField que faz um filtro na JTable.
Quando eu abro a tela JInternaFrame onde tem a JTable, o filtro do jtextfield funciona perfeitamente, mas se eu fechar a jenela e abrir novamente o filtro não funciona mais… não sei onde ta o erro nisso.
Abaixo segue o cod da JTable e do JTF

[code] TableModel model = new DefaultTableModel(body, head) {
public boolean isCellEditable(int body, int head) {
return false;
}
};

public TableRowSorter&lt;TableModel&gt; sorter = new TableRowSorter&lt;TableModel&gt;(model);

private void Table()throws Exception {
	try {
		rs = stmt.executeQuery("select cad_nr, cad_nome,

cad_fant, cad_fone, cad_fax, celular, cad_end,
cad_cpf, cad_rg, cad_cgc, cad_inscr, inscr_prod,
inscr_min, cid, bai, email from r_cadast");
rsmd = rs.getMetaData();
int col = rsmd.getColumnCount();
while(rs.next()) {
bv = new Vector<String>();
int a;
for(a=1;a<=col;a++) {
if(flag) {
head.add(rsmd.getColumnName(a));
}
bv.add(rs.getString(a)==null?"":(String)rs.getString(a));
}
body.add(bv);
flag=false;
}
}
catch(Exception exec) {
JOptionPane.showMessageDialog(null,“Problemas na tabela”, “Erro”, JOptionPane.INFORMATION_MESSAGE);
exec.printStackTrace();
}
jTable = new JTable(body, head);
jTable.setRowSorter(sorter);
jTable.setCellEditor(null);
jTable.setLocation(new Point(15, 118));
jTable.setBackground(new Color(204, 204, 204));
jTable.setAutoscrolls(true);
jTable.setSize(new Dimension(200, 200));
jTable.addKeyListener(this);
jTable.addMouseListener(this);
}[/code]

[code] search.addActionListener(this); // JTextField que faz o filtro.

else if(ke.getSource() == search) {
String text = search.getText();
sorter.setRowFilter(RowFilter.regexFilter(text));
}[/code]
Valeu pessoal

[quote=klarq]Faz o seguinte,

da uma olhada se o ResultSet está trazendo as informações :wink: [/quote]
Tá sim, na primeira vez que abre a janela o filtro com o jtext funciona normal, mas se fechar a janela e abrir denovo não funciona mais, daí tem que fechar o programa e abrir de novo. Ele até pega os resultados toda vez que abre a janela, mas o filtro não funciona…
Valeu

[quote=klarq]Ja tentou usar o DefaultTableModel no lugar do seu model ai…
[/quote]
Obrigado por responder.
Então, como eu falei, a tabela está mostrando o resultado. Meu problema é com o filtro que só funciona a primeira vez que eu abro a janela (que tem a JTable) e depois se eu fechar a janela e abrir novamente o filtro não funciona, daí tem que fechar o programa e abrir de novo.
Valeu

[quote=klarq]Não sei… :expressionless:

O text está funcionando certinho…
[/quote]
Aqui tbm funciona sem problemas, mas quando eu fecho a janela e abro não funciona mais.

Agora tá funcionando, só que pior. Quando eu fecho a janela que tem a JTable e abro novamente o jtextfield continua fazendo pesquisa, só que ele duplica os resultados, por exemplo: Se eu faço uma pesquisa pelo João e fecho a janela e abro a janela novamente e faço qualquer outra pesquisa ou até mesmo por João, ele mostra dois resultados. Se eu fecho e abro novamente a janela e faço uma outra pesquisa qualquer ele mostra três resultados e assim sucessivamente.
Se eu fechar o programa e abrir a janela ele faz a pesquisa normal, mas se eu fechar a janela e abrir acontece a mesma coisa, ele vai duplicando os resultados…