Duvidas de como fazer pesquisa na tabela

 cxPesquisa = new JComboBox();
    cxPesquisa.setBounds(20,35,150,20);
        cxPesquisa.addItem("Filme");
        cxPesquisa.addItem("Cliente");
        cxPesquisa.addItem("Data de locacao");
        cxPesquisa.addItem("Data de devolucao");
    this.add(cxPesquisa);
    
    txtPesquisa = new JTextField();
    txtPesquisa.setBounds(180,35,150,20);
    this.add(txtPesquisa);
btnPesquisa = new JButton();
    btnPesquisa.setBounds(240,35,60,20);
    this.add(btnPesquisa);
 
 btnPesquisa.addActionListener(new ActionListener()
        {
        public void actionPerformed(ActionEvent e) {          
        String btconsultar = "SELECT NomedoFilme , NomedoCliente , datalocacao , datadevolucao where("+cxPesquisa.getSelectedItem()+") like ('"+txtPesquisa.getText()+"')";
                ConexaoBanco conn = new ConexaoBanco();
                Connection conexao;
                
           try {            
            
                conexao = (Connection) conn.getConexao();        
                
                Statement stm = (Statement) conexao.createStatement();
                stm.execute(btConsultar);
                stm.close();
                conexao.close();
        }
        } catch (ClassNotFoundException ex) {
          System.out.println("CLASSE NÃO ENCONTRADA");
        } catch (SQLException ex) {
          ex.printStackTrace();
          System.out.println("ERRO!");
        }
        }
          }); 
 public void table(JTable tabela) throws SQLException, ClassNotFoundException
    {
        String query = "SELECT NomedoFilme , NomedoCliente , datalocacao , datadevolucao FROM Historico";     
     
        ConexaoBanco conn = new ConexaoBanco();
        Connection conexao;      
            
                conexao = (Connection) conn.getConexao(); 
                Statement stm = (Statement) conexao.createStatement();
                ResultSet rs = stm.executeQuery(query);
        
        DefaultTableModel model = new DefaultTableModel()
        {
            @Override
            public boolean isCellEditable(int row, int column)
            {
                return false;
            }
        };
        tabela.setModel(model);
        model = (DefaultTableModel) tabela.getModel();
        
        model.addColumn("Nome do filme");
        model.addColumn("Nome do Cliente");
        model.addColumn("Data da Locacao");
        model.addColumn("Data da devolucao");
        
        while(rs.next())
        {
            model.addRow(new Object[]{rs.getString("NomedoFilme"),rs.getString("NomedoCliente"),rs.getString("datalocacao"),rs.getString("datadevolucao")});
        }

        tabela.getColumnModel().getColumn(0).setPreferredWidth(150);
        tabela.getColumnModel().getColumn(0).setMinWidth(150);
        tabela.getColumnModel().getColumn(0).setMaxWidth(150);

        tabela.getColumnModel().getColumn(1).setPreferredWidth(150);
        tabela.getColumnModel().getColumn(1).setMinWidth(150);
        tabela.getColumnModel().getColumn(1).setMaxWidth(150);
        
        tabela.getColumnModel().getColumn(2).setPreferredWidth(120);
        tabela.getColumnModel().getColumn(2).setMinWidth(120);
        tabela.getColumnModel().getColumn(2).setMaxWidth(120);
        
        tabela.getColumnModel().getColumn(3).setPreferredWidth(120);
        tabela.getColumnModel().getColumn(3).setMinWidth(120);
        tabela.getColumnModel().getColumn(3).setMaxWidth(120);
    }

eu tenho uma JComboBox uma JTextField e uma JTable

eu quero pegar oque esta escrito no JTextField e buscar na coluna ques sta selecionada no JComboBox e retornar na JTable
alguem sabe como fazer isso?