Preciso usar isso usando um padrão

pessoal tenho esse codigo para popular uma jtable… porem não tem padrão nenhum… eu keria jogar esse metodo no meu dao e chamar ele pelo view para popular.
alguem pode me ajudar?

[code]
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {

List list_cliente = new ArrayList();

try{
Cliente cliente = new Cliente();

    Connection conn = ConectionBD.getConnection();
    String sql = null;
    sql = "select * from cliente";
    PreparedStatement pst = conn.prepareStatement(sql);
    ResultSet rs = pst.executeQuery();

DefaultTableModel modelo = new DefaultTableModel();
modelo.addColumn(new String[]{“rua”, “numero”});
while (rs.next()) {
modelo.addRow(new Object[]{rs.getString(“rua”), rs.getInt(“numero”)});

modelo.addColumn(new Object[]{rs.getInt("telefone")});

}
jTable1.setModel(modelo);
}catch(Exception e){}[/code]

se eu fosse colocar esse código no dao e fosse chamar pela view eu iria fazer assim + ou -

Não entendi sua duvida. Fiquei com a impressão que você estava querendo implementar um factory Method.

akele codigo esta na minha view… ou seja sem padrão nehum… eu keria colocar akele codigo na minha camada de persistencia, porem não estou conseguindo chamar ele pela view dpw q colocar no DAO.

Cara você coloca o código no seu Dao em algum método.

Se você te um facade entre o dao e a view você vai apenas instanciar o facade dentro do método actionPerformed e chamar o método.

Lembrando que você está usando uma interface IFachada para receber uma instância de Fachada, Logo sua interface tem que ter a assinatura do método que você vai chamar na view.

eu estava tentando fazer algo aki mais não rolou…

[code]
IFachada fachada = new Fachada();
Cliente cliente = new Cliente();
List list_cliente = fachada.Clientes(cliente);

        DefaultTableModel modelo = new DefaultTableModel();
        for(Cliente listcli: list_cliente){
            modelo.addRow(new Object[]{listcli.getNome()});
            jTable1.setModel(modelo);[/code]

Mas oque é que está acontecendo?

Ta dando exception? Ta compilando?

consegui fazer + ou - assim:

[code]
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {

    try {
        IFachada fachada = new Fachada();
         Cliente cliente = new Cliente();
  // DefaultTableModel modelo = new DefaultTableModel();

DefaultTableModel modelo = new DefaultTableModel(new Object[] {“UM”, “DOIS”, “TRES”}, 0);
List list_cliente = fachada.Clientes(cliente);
//String[] tableColumnsName = {“Endereco”,“CPF”,“Teste”};
// modelo.setColumnIdentifiers(tableColumnsName);

        for(Cliente listcli: list_cliente){


     modelo.addColumn(new Object[]{listcli.getNome(),listcli.getCPF(),listcli.getEndereco().getRua()});
     modelo.addRow(new Object[]{listcli.getNome(),listcli.getCPF(),listcli.getEndereco().getRua()});

jTable1.setModel(modelo);

        }}catch(Exception e){
            e.printStackTrace();
            JOptionPane.showMessageDialog(null, e.getMessage());[/code]

so que na table aparece uma coluna em branco com o titulo Ljava.lang.Obejcts.@…

Não entendo o porque de

Da uma olhada na especificação de DefaultTableModel e você vai ver que addColumn não recebe array de objetos.

entendi o q vc falo… eu coloquei os nomes das colunas qdo instanciei defaulttablemodel
porem msm com o metodo de consulta de retornar todos… ele apenas me retornou o ultimo dado da tabela…

veja meu metodo de consulta.

[code] public List Clientes(DomainObject domainObject) throws SQLException {
List list_cliente = new ArrayList();

try{
Cliente cliente = (Cliente)domainObject;

Connection conn = ConectionBD.getConnection();
String sql = null;
sql = "select * from cliente order by idcliente";
PreparedStatement pst = conn.prepareStatement(sql);
ResultSet rs = pst.executeQuery();

while (rs.next()) {
Endereco endereco = new Endereco();
endereco.setRua(rs.getString(“rua”));
endereco.setNumero(rs.getInt(“numero”));
endereco.setCidade(rs.getString(“cidade”));
endereco.setBairro(rs.getString(“bairro”));
cliente.setEndereco(endereco);

cliente.setCPF(rs.getInt("cpf"));
cliente.setNome(rs.getString("nome"));
cliente.setTelefone(rs.getInt("telefone"));
cliente.setID(rs.getInt("idcliente"));
list_cliente.add(cliente);
}}catch(Exception e){
e.printStackTrace();
JOptionPane.showMessageDialog(null, e.getMessage());
}
return list_cliente;
}

[/code]

Cara sua consulta está retornando apenas o ultimo? ou o ultimo repetido várias vezes?

Pelo que eu estou vendo você está utilizando o mesmo objeto Cliente dentro do While para adicionar na Lista.

Para cada registro dentro do seu resultSet você tem que instanciar o cliente de novo, senão oque você vai estar fazendo é instanciar cliente, alterar os valores e colocar denovo na lista.