hthiago
#1
O codigo abaixo retorna um objeto Usuario com os dados recebidos do resultSet de uma consulta ao banco de dados.
Minha duvida é como implementar uma JTable em um JFrame que receba e apresente estes dados recebidos da consulta.
Alguem pode me dar uma força,
T+
public Usuario searchUsuario(String campo, String valor)
{
PreparedStatement stmt = null;
ResultSet rs = null;
try
{
connection.conectar();
stmt = connection.getStatement("SELECT id, nome, cpf, userName, senha FROM usuario WHERE ? = ?");
stmt.setString(1, campo);
stmt.setString(2, valor);
rs = stmt.executeQuery();
Usuario usuario = new Usuario();
rs.next();
usuario.setNome(rs.getString(2));
usuario.setCpf(rs.getString(3));
usuario.setUserName(rs.getString(4));
usuario.setSenha(rs.getString(5));
return usuario;
}catch (Exception exception){
exception.printStackTrace();
}finally{
connection.desconectar();
}
return null;
}
Ratao
#2
Não está na melhor forma, mas veja se ajuda esse exemplo.
JTableHeader jTableHeader = new JTableHeader();
jTableHeader.setFont(new Font("Dialog", Font.PLAIN, 10));
composicao = new JTable();
composicao.setModel(new DefaultTableModel(
new Object[][] {},
new String[]{"<html>.<br>.</html>","Código","Referência","Descrição","CF",
"<html>Preço<br>Corte</html>",
"<html>Preço<br>Pesponto</html>",
"<html>Preço<br>Montagem</html>",
"<html>Preço<br>Solado</html>"})
);
composicao.setFont(new Font("Arial", Font.PLAIN, 10));
composicao.setCellSelectionEnabled(false);
int i = 0;
DefaultTableModel dtm = (DefaultTableModel)composicao.getModel();
//pesquisa em banco
ResultSet rs = fb.execQuery("SELECT * FROM PRODUTOS ORDER BY COD_PADRAO");
maximo = fb.getRsSize(rs);
codigoIt = new String[maximo];
codigo = new String[maximo];
referencia = new String[maximo];
descricao = new String[maximo];
pccorte = new String[maximo];
pcpesponto = new String[maximo];
pcmontagem = new String[maximo];
pcsolado = new String[maximo];
cf = new String[maximo];
try{
rs.first();
do{
codigoIt[i] = rs.getString("CODIGO");
codigo[i] = rs.getString("COD_PADRAO");
referencia[i] = rs.getString("REFERENCIA");
descricao[i] = rs.getString("DESCRICAO");
pccorte[i] = rs.getString("PRECOVENDA");
pcpesponto[i] = rs.getString("PRECOPESPONTO");
pcmontagem[i] = rs.getString("PRECOMONTAGEM");
pcsolado[i] = rs.getString("PRECOSOLADO");
cf[i] = rs.getString("CF");
dtm.addRow(new Object[]{"",codigo[i],referencia[i],descricao[i],cf[i],pccorte[i],pcpesponto[i],
pcmontagem[i],pcsolado[i]});
i++;
}while(rs.next());
keller
#3
Voce pode implementar uma JTable que trabalhe com o seu objeto Usuario:
http://www.javalobby.org/articles/jtable/
Usando Reflection e Anotações você perde a “dependencia” de um objeto Usuario.
É só ter um pouco de criatividade e tempo pra implementar…
Aqui tem alguns exemplos de “ações” que você pode fazer com uma JTable:
http://www.exampledepot.com/egs/javax.swing.table/pkg.html
Boa sorte! :thumbup:
*Corrige o titulo do topico porque “Ajunda” é complicado…
hthiago
#4
valeu,
vou tentar implementar um AbstractTableModel, e usar o meu objeto Usuario
T+