Pesquisa via TextField AutoComplete

2 respostas
Renato_Yury

Saudações comunidade… Por favor…

Estou com um problema, conforme assunto deste tópico, quero pedir desculpas se estou duplicando, mas é que navegando por aqui e em outros locais da web não consegui achar uma solução para o meu problema. Uma solução que segue o mesma lógica das outras funções do meu programa.

O JTextField_FornPesquisa faz a consulta no bando e traz os fornecedores que preenchem os requisitos da pesquisa. Eu gostaria que o campo auto completasse conforme usuário vai digitando.

Outro problema que estou tendo no mesmo assunto é que o banco está diferenciando letras maiúsculas de minúsculas, gostaria que ele tratasse a diferença como uma só.

private JButton getJButtonForn_Consultar() {
		if (jButtonForn_Consultar == null) {
			jButtonForn_Consultar = new JButton();
			jButtonForn_Consultar.setBounds(new Rectangle(337, 179, 95, 18));
			jButtonForn_Consultar.setText("Consultar");
			
			jButtonForn_Consultar.addActionListener(new java.awt.event.ActionListener() {
				
				public void actionPerformed(java.awt.event.ActionEvent e) {
					
				con_Fornecedor.executeSQL("SELECT * FROM cadforn WHERE forn_nome LIKE '"+jTextFieldForn_Pesquisar.getText().toLowerCase()  
				       +"%' ORDER BY "+ordenacao);  
					          
				    try{
				    	
				        con_Fornecedor.resultset.next();  
				        String igual = "n";  
				        int tamanho_pesquisa = jTextFieldForn_Pesquisar.getText().length();  
				            
				        	while (igual == "n"){
				            	
				        String pesquisado = con_Fornecedor.resultset.getString("forn_nome").substring(0(tamanho_pesquisa));  
				        		
				        	   if(pesquisado.equals(jTextFieldForn_Pesquisar.getText())){
				            	
				        		   igual = "s";  
				        	   }else
				            	
				          con_Fornecedor.resultset.next();  
				        }  
				            
				          jTextFieldForn_Codigo.setText(con_Fornecedor.resultset.getString("forn_codigo"));  
				          mostrar_dados();
				          con_Fornecedor.resultset.next();
				          
				    }catch(Exception erro){
				        	
				         JOptionPane.showMessageDialog(null,"Não conseguiu localizar fornecedor" + erro);  
				         } 				
				}
			});
		}
		return jButtonForn_Consultar;
	}

Desde já agradeço!!!

2 Respostas

R

Não sei se vai ajudar, mas os componentes SwingX oferecem a funcionalidade de autocompletar:

http://download.java.net/javadesktop/swinglabs/demos/swingx/swingx.jnlp
http://java.net/projects/swinglabs-demos/sources/svn/show/tags/demos-about-1-0/src/java/org/jdesktop/demo/swingx?rev=1280

Renato_Yury

roger_rf:
Não sei se vai ajudar, mas os componentes SwingX oferecem a funcionalidade de autocompletar:

http://download.java.net/javadesktop/swinglabs/demos/swingx/swingx.jnlp
http://java.net/projects/swinglabs-demos/sources/svn/show/tags/demos-about-1-0/src/java/org/jdesktop/demo/swingx?rev=1280

Caro Roger,

Ajudou sim, pude ver e analisar outras formas de se implementar esta função que estou querendo. Mas eu gostaria de seguir esta lógica do sistema, estou usando ela, e através dela já implementei várias outras funções. Então, penso que o ideal é eu não fugir desse raciocínio.

Primeiro programa que estou desenvolvendo. Se eu não estiver correto, por favor, conta com a orientação de vcs.

Obrigado!!!

Criado 19 de maio de 2011
Ultima resposta 20 de mai. de 2011
Respostas 2
Participantes 2