Forum Main Page > GUI - (Applets, Swing, SWT, etc)

JComboBox editavel

Goto page 1

New Topic    Reply Message


  1. gqferreira
    Offline
    Posts: 10

    Comment Arrow

    Publicado em: 07/06/2009 19:26:41

    Olá pessoal, saudações!

    Para deixar um combobox editavel é moleza, "setEditable(true)", mas e para deixa-lo filtravel? Você começa a digitar e a lista de opções aparece em baixo e vai filtrando, como fazer?
    Links? Tutorias? Idéias?

    Grato.


    Advertência em 08/06/2009 11:37:46 por simu:

    Assunto melhor na seção GUI - (Applets, Swing, SWT, etc) e não na Java Básico.
    Tópico movido!






  1. RicMax
    Offline
    Posts: 232

    Comment Arrow

    Publicado em: 08/06/2009 11:14:38

    Vai precisar de um dicionário...

    O PAAI me disse isso (Google):

    http://www.ansir.ca/autocomplete.jsp
    http://www.codeguru.com/forum/showthread.php?t=34839
    http://www.java.happycodings.com/Java_Swing/code5.html

    Você perguntou para O PAAI antes?
    _________________
    KISS: Keep It Simple Stupid;
    JEDI: Java Enchanted Developer Insider;
    POG: O lado negro da Força;




  1. jesuino
    Online
    Posts: 1374

    Comment Arrow

    Publicado em: 08/06/2009 11:30:50

    Olá
    tenho uma criança aqui que fiz mas tempos! É mas ou menos o que você quer, dê uma olhada no código:

    Acho que é isso, se não for, tomara que ajude alguém.














    Desculpe por colar o código aqui...

    É o seguinte, você digita, ele busca o que digitou e joga numa Combo para mostrar. Para rodar o código você deve ter mySql com um banco de dados chamado teste... uma tabela chamada pessoa e com uma só coluna chamada nome.

    É só um teste, um projeto meu bem antigo!

    Abraços, tomara que ajude você, ou alguém que queira brincar.

    _________________
    William Antônio Siqueira
    Siga-me no Twitter - Tudo sobre JavaFX e um pouco mais
    Veja meu Blog




  1. RicMax
    Offline
    Posts: 232

    Comment Arrow

    Publicado em: 08/06/2009 12:33:48

    Hahaha, isso não é uma "criança" é quase um frankstein!

    Brincadeira, mas é por aí que você segue cara. Só tem que dar uma de cientista maluco e montar teu frank, baseado nesse do jesuino.
    _________________
    KISS: Keep It Simple Stupid;
    JEDI: Java Enchanted Developer Insider;
    POG: O lado negro da Força;




  1. gqferreira
    Offline
    Posts: 10

    Comment Arrow

    Publicado em: 16/06/2009 01:16:01

    RickMax, olhei sim no pai google (aff....) mas não encontrei o que precisava. O que chegou mas perto foi esse: http://www.java.happycodings.com/Java_Swing/code5.html mas ainda não era o que eu precisava, nesse exemplo, ha uma filtragem mas sem nunca alterar os valores da lista. Preciso fazer a lista se atualizar e mostrar somente os que começam com as tais letras. Jesuino, achei interessante a sua solução (oO) mas será que não tinha uma solução mais simples? Se não tiver, blz, irei fazer como o seu ou bolar um, fiz esse post pra ver se tem algo "pronto" mas ja tinha um ideia de como faria.

    vlw a todos, vou fazer o meu (tentando alterar o do jesuino) mas se acharem algo "pronto", colar aê ta valendo...




  1. jesuino
    Online
    Posts: 1374

    Comment Arrow

    Publicado em: 16/06/2009 10:47:18

    Tá, eu pensei que tava difícil de usar esse exemplo mesmo, pois eu coloquei um monte de coisa ae sem sequer falar o que que é.

    Agora que vem a chatice para muitos, mas a parte mais legal de programar em Java(OO na verdade) na minha opinião.

    Visando o uso futuro, em qualquer painel/Frame sem a necessidade de ficar refazendo esse código todo, encapsulei a parte de auto complete para ser usada com qualquer fonte de dados! Para fazer isso levei em conta dois padrões de projeto Builder(monta um componente complexo a partir de partes de construção) e Strategy(encapsula um determinado algoritmo).

    A primeira idéia era fazer um componente reutilizável, pare ser parte de qualquer GUI no futuro(padrão GoF: Builder), então coloquei os componentes em um painél, o segundo passo era permitir qualquer fonte de dados sem conhecer a implementação da mesma, para que eu somente envie uma String e ela me retornasse as sugestões. Então eu usei o padrão Strategy(GoF também) , onde delego a busca de dados para uma interface, quem implementar a interface trazerá os dados que queremos...

    Ou seja, para usar nosso painel, você deverá ter uma classe que implemente a interface IFonteDados, sendo que ela será encarregada de dar as sugestões de acordo com a String passada, retornando num formato de vetor de String. Isso tudo está no código abaixo:



    Agora vamos mostrar como o Strategy está na nossa classe de AutoComplete:


    Simples não??

    Agora veja como ficaria no exemplo anterior, sendo que a minha classe controle implementa a interface IFonteDados:


    E o Control:


    Simples não???

    E se você não quiser mexer nas classes que você tem, basta usar o padrão Adapter para gerar uma classe sem nem mexer no seu projeto que já está pronto!


    Olhe o exemplo no código que eu passei:



    E na tela vamos usar o Control, a fonte de dados, do tipo do Adapter agora:



    Pronto! Simples!!

    Espero que alguém aprenda com isso ae!!

    Qualquer dúvida é só postar...
    _________________
    William Antônio Siqueira
    Siga-me no Twitter - Tudo sobre JavaFX e um pouco mais
    Veja meu Blog




  1. RicMax
    Offline
    Posts: 232

    Comment Arrow

    Publicado em: 16/06/2009 12:45:06

    PQP (com o perdão da expressão)!

    Uma aula-show jesuino!

    Muito bom cara!

    *CTRL C*
    _________________
    KISS: Keep It Simple Stupid;
    JEDI: Java Enchanted Developer Insider;
    POG: O lado negro da Força;




  1. Relacionados





New Topic    Reply Message     Forum Main Page -> GUI - (Applets, Swing, SWT, etc)


Goto page 1