Galera alguém pode me ajudar? Queria fazer um filtro que para cada letra que eu digitasse no combo-box ele retornava o filtro. Obrigado
Coloca um evento de “Key Released” quando vc “soltar” a tecla, vai aparecer o que vc quer
Então eu cheguei fazer isso já mais não consegui, tem algum exemplo ai ? vlws
Oh cara, perdão!!! Agora que eu vi a resposta, tava fuçando aqui e encontrei. Desculpa mesmo!
Vamos lá, vc vai clicar no seu combobox com o botão direito, eventos, Key, Key released. Só uma dúvida, vc vai filtrar com o banco de dados?
Tranquilo kk
Então o filtro é pelo banco de dados sim
beleza, então faz assim:
Clica lá com o botão direito no seu ComboBox, Eventos, Key, Key Released, vai abrir a tela de código fonte, aí vc adequa esse código abaixo pra vc:
"SELECT * FROM suaTabela WHERE suaColuna ILIKE '%" + seuComboBox.getSelectedItem() + "%' "
vlw man, vou tentar aqui
Tentei aqui usando esse código no KeyRelease
try {
ClienteDAO cdao = new ClienteDAO();
cdao.filtraCliente(txtCliente.getSelectedItem().toString());
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
A classe tem esse código
public List filtraCliente(String nome) throws ClassNotFoundException, SQLException {
List<Cliente> lista = new ArrayList<>(); String sql = "select * from cliente where nome like ?"; PreparedStatement stmt = conexao.prepareStatement(sql); stmt.setString(1, "%" + nome + "%"); ResultSet rs = stmt.executeQuery(); try { while (rs.next()) { Cliente cl = new Cliente(); cl.setIdcliente(rs.getInt("idcliente")); cl.setNome(rs.getString("nome")); lista.add(cl); } } catch (SQLException ex) { javax.swing.JOptionPane.showMessageDialog(null, "Erro ao buscar Cliente !" + ex.getMessage()); }
e não funcionou, e usei a sua ideia =/
Cara, vc usa o MySQL?
Aqui são aspas simples e depois duplas: ' % " + nome + " % '
Aspas simples são só no Gerenciador de banco de dados, Mais no netbeans é assim mesmo mano que usa esse código.
Se eu coloca aspas simples no código ele não aceita.
Tem certeza? Note que se você fizer assim vai dar erro.
Pra fazer funcionar, precisa das aspas simples, se você colocar as duplas, ele vai “isolar” o parênteses. Tenta do jeito que eu te passei, vai funcionar de boa.
Mas nesse seu caso tenta assim:
Stmt.setString(1, nome);
tentei de todas maneiras ai, e mesmo assim nada =/
Mano do céu, me passa a classe pra eu testar aqui
KeyRelease
private void txtClienteKeyReleased(java.awt.event.KeyEvent evt) { try { ClienteDAO cdao = new ClienteDAO(); cdao.filtraCliente(txtCliente.getSelectedItem().toString()); } catch (Exception e) { JOptionPane.showMessageDialog(null, e); } }
ClienteDAO
public List<Cliente> filtraCliente(String nome) throws ClassNotFoundException, SQLException {
List<Cliente> lista = new ArrayList<>();
String sql = "select * from cliente where nome like ?";
PreparedStatement stmt = conexao.prepareStatement(sql);
stmt.setString(1, nome );
ResultSet rs = stmt.executeQuery();
try {
while (rs.next()) {
Cliente cl = new Cliente();
cl.setIdcliente(rs.getInt("idcliente"));
cl.setNome(rs.getString("nome"));
lista.add(cl);
}
} catch (SQLException ex) {
javax.swing.JOptionPane.showMessageDialog(null, "Erro ao buscar Cliente !" + ex.getMessage());
}
return lista;
}
}
Fiz isso man, apenas isso o código vlw pela atenção e ajuda
Vixi mano. Vc quer selecionar um item e quer que apareça os dados dele né?
Se for assim, faz isso (só adequa pra você):
public void ResultadoPesquisa() {
try {
conecta.conexao();
conecta.rs.first();
camponome.setText(String.valueOf(conecta.rs.getString("modelo")));
conecta.desconecta();
} catch (SQLException e) {
}
}
Eu coloquei isso no jButton:
conecta.conexao();
conecta.executaSQL("select * from morador where nome like '" + comboCliente.getSelectedItem() + "%' order by id");
ResultadoPesquisa();
conecta.desconecta();
na verdade amigo é isso que to querendo fazer, talvez ajude na ideia
AHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
Cara, então vc quer um jList, olha esse video aqui:
https://www.youtube.com/watch?v=3poWfB2N4Lg é um tutorial sobre
Isso cara isso mesmo!! vlww
vídeo bem explicativo, você sabe se com um combobox é possivel fazer esse procedimento ? pq com combobox nao achei nenhum tutorial nem algo do tipo! obg novamente
Já usei esse como exemplo para uma app no passado, pode lhe ajudar:
http://www.java2s.com/Code/Java/Swing-Components/AutocompleteComboBox.htm