JTable

4 respostas
bacoco

Olá sei que já tem muitos topicos sobre JTable porém eu realmente estou um tanto quanto confuso...
Bom eu tenho em meu sistema o seguinte metodo

//Gera um select completo podendo usar where e like
    public List<Funcionario> getListaWhereAlgo(String Coluna, String Where, String Like, String Coluna2) {
        //Retorna os valores de funcionario
        try{
            List<Funcionario> funcionarios;
            funcionarios = new ArrayList();
            PreparedStatement stmt;
            if (Like == null){
                stmt = this.connection.prepareStatement
                ("select * from funcionario where" + Coluna + " =  \"" + Where +"\"");
            }else{
                stmt = this.connection.prepareStatement
                    ("select * from funcionario where" + Coluna + " =  \"" + Where +"\"" 
                    + " and " + Coluna2 + " like \"" +"%"+Like+"%"+ "\"" );  
            }
            
            ResultSet rs = stmt.executeQuery();
            
            while (rs.next()){
                //Criando o obj Funcionario
                Funcionario funcionario = new Funcionario();
                funcionario.setMatricula(rs.getString("matricula"));
                funcionario.setNome(rs.getString("nome"));
                funcionario.setSenha(rs.getString("senha"));
                funcionario.setEmail(rs.getString("email"));
                funcionario.setIdGestor(rs.getInt("idgestor"));
                
                //Adiciona no arrayList os dados do funcionario
                funcionarios.add(funcionario);                
            }
            rs.close();
            stmt.close();
            return funcionarios;            
        }catch (SQLException e) {
            throw new RuntimeException(e);            
        }
    }

Quero usa-lo para alimentar uma JTable podendo fazer todo o CRUD nela e também podendo filtrar pelo LIKE com um campo na tela.
Vi pessoas falando para nunca usar DefaultTableModel outras usando sem o menor problema...
Porém até agora não achei uma forma que eu possa fazer isso e que realmente tenha funcionado, se alguem tiver algum guia ou tutorial para que eu siga e principalmente se tiverem exemplos para que eu possa entender será otimo.

Pois no momento tenho a query e a JTable mais não consigo simplesmente uni-las.

4 Respostas

Rodrigo_Vieira_Pinto

O JTable (e alguns outros componentes swing) possuem um model (o TableModel, que você já comentou).

Basicamente, vc vai precisar preencher esse model com os resultados da sua consulta. E a cada alteração no modo de consulta (com like ou sem like), o model deve ser alterado, e este deve informar ao JTable que houveram mudanças. Assim o JTable pode atualizar o que ele exibe.

O tutorial sobre JTable que tem aqui no GUJ é bem antigo, mas mostra como fazer isso. Dá uma olhada :wink:

ViniGodoy

Na minha assinatura tem um link que te leva para diversos tutoriais sobre como usar o TableModel.

bacoco

VinyGodoy como citado no topico eu também estou vindo do Delphi e realmente tenho me assustado com o que preciso fazer para gerar um grid,vi que você recomenda usar o componente do Marky eu dei uma lida no que seria o componente dele mais não entendi direito a função e como usa-lo, vou tentar dar uma lida melhor…

ViniGodoy

A diferença é que o TableModel é tudo o que você precisa fazer. Pode ser um pouco mais difícil de gerar um Grid básico, mas dá muito mais poder para gerar um personalizado.

Criado 7 de janeiro de 2013
Ultima resposta 8 de jan. de 2013
Respostas 4
Participantes 3