Pergunta

Estou vagando sozinho o componente é o melhor para a exibição rápida de resultados de pesquisa em andamento. Eu quero criar algo parecido com isso, fazer um campo de texto onde o usuário pode digitar algum texto, durante a sua entrada eu vou melhorar no final de volta rápida busca no banco de dados, e eu quero mostrar dados abaixo da caixa de texto, e ele será capaz a navegar nos resultados e na pres entrar resultado será exibido na tabela. Então, minha pergunta é há qualquer componente que já tem essa lógica para a exibição? Ou é que não é, qual é a melhor maneira de implementar isso.

Esta pesquisa será algo que ajax me dá na web, mesma lógica mesma aparência, se é possível na aplicação desktop.

Foi útil?

Solução

Você está procurando algo como um componente de conclusão automática para Java Swing?

SwingX tem um tal componente. Consulte aqui para o JavaDoc. Ele tem um monte de métodos utilitários para fazer várias coisas, ou seja, auto-completar uma caixa de texto a partir do conteúdo de um JList.

Outras dicas

Você terá que primeiro anexar um ouvinte para os JTextFields Document para ser notificado sempre que o usuário digita no campo (ou muda-lo).

A partir daí, você pode disparar qualquer código do lado do servidor que você precisa. Os resultados do que pode ser usado para atualizar uma caixa de listagem.

Algumas coisas para manter em mente:

  1. O código para fazer a pesquisa contra o backend deve ser em outro segmento
  2. O código que atualiza a caixa de listagem deve atualizar o modelo de caixa de lista
  3. Você vai precisar para gerenciar todos os seus resultados de pesquisa de back-end para que você só atualizar a lista com o resultado mais recente (por exemplo, tipos de usuários 'A', pesquisas backenf para isso. Enquanto isso, o usuário digitou 'C', dando início a uma backend procurar 'AC'. Você precisa garantir os resultados do 'a' não faça pesquisa' torná-lo para a caixa de listagem se o 'resultado de buscas AC' estão disponíveis).

I fortemente, recomendo fortemente que você dê uma olhada envidraçadas Listas - este é um dos mais finos open source Java bibliotecas lá fora, e isso faz com que a maior parte do que você está perguntando sobre super fácil.

Use Hibernate Search.

O SwingHack ( http://oreilly.com/catalog/9780596009076/ ) livro tem um exemplo disso.

No interesse de matar dois coelhos com uma cajadada só: ter um fio de indexação separado. Esta vontade:

  1. melhorar a velocidade de pesquisas, sempre que eles são executados.
  2. Melhorar a capacidade de resposta da interface do usuário desde a indexação está acontecendo em um segmento separado.

Claro, exatamente como você executa a indexação irá variar muito, dependendo da aplicação particular. Aqui é um bom lugar para começar a pesquisar: indexação de pesquisa . E, por favor, ignore a referência ao Web 3.0 [sic].

É possível, é claro. É muito simples. Para soltar lista de termos de baixo apenas usar o menu pop-up. Isto é simples. O processamento de texto inserido fundo é muito simples. Divirta-se!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top