Ajuda com JComboBox

9 respostas
Tche

Olá galera…

Estou com um problema aqui, e queria uma ajudinha…

Bom, estou desevnvolvendo um sistema que, dentro de um módulo, deve carregar um JComboBox com dados do Bonco de Dados.

Até aí tranquilo, porém, no DB eu tenho 7800 informações diferentes pra carregar no combo!!

E isso me gera um combo imenso, que quando eu clico na seta, me traz tudo branco por causa do tamanho!

Gostaria de uma ajudinha no seguinte…

Existe alguma forma de eu setar o tamanho do JComboBox?

tamanho que digo no sentido visual, e nao de armazanamento…

Depois disso, ainda tenho uma outra dúvida que está me tirando os fios de cabelo…

O usuário deve digitar no combo a informacao que deseja e o combo vai selecionando… até aí beleza…
o porém, é que este combo é imenso, entao fica um pouco lento…

Alguém teria idéia de como agilizar este processo?

Tive algumas idéias e gostaria de discutir pra ver o que acham…

Agradeço desde já pela ajuda!!!

9 Respostas

drcelo

:-o :-o :-o :-o :-o :-o :-o :-o :
shock: :shock: :shock: :shock: :shock: :shock:

É completamente inviável exibir tantos dados dentro de uma combo, é até feio digamos hehehehe, não existe um modo de diminuir os itens da combo colocando filtros na query que retorna? ou talvez até mesmo pense em trabalhar com JList mas mesmo assim também seria absurdo colocar este volume de dados dentro de um deles…

A pergunta é, realmente existe a necessidade de o usuário visualizar todos estes dados?

:wink:

L

Não sei se seria uma boa opção adicioar ± 8000 itens num combo… quanto ao tamanho do combo vc pode limitar o tamanho da string ao adicionar no campo, tipo quando vc adicinar a descrição no combo, verifica se tem mais de 20 carcteres, por exemplo , e dá um

descrição = descrição.substring(0,20) + "...";

na descrição para adicionar no combo…

Uma opção seria adicionar um textfield para o usuário digitar o código do registro, e um botão de buscar onde o mesmo tem a ação de buscar o produto e mostrar em um outro jtextfield ou jlabel

Tche

Entao cara… a necessidade “existe”…

Pensei nisso também…

O Porém é que se nao fosse desta forma, qual seria um outro geito de fazer isto?

Criar um TextField onde o cabra digita e eu auto-completo?

porque o usuário muitas vezes precisa visualizar para selecionar o correto tendeu?

fiz um filtro da seguinte forma:

ao criar o JFrame nao carreguei o cambo com nada.

Adicionei ao JComboBox um eveto KeyPressed que pegava a tecla digitada e eu carregava o combo apenas com os dados que se iniciavam com aquela letra…

Ainda sim, o combo fica gigante…

E eu nao consigo, depois de ter carregado com os "iniciáveis com ‘a’ ", recarregar o combo se o usuário teclar ‘b’.

Talvez, se eu conseguisse recarregar o combo e setar um tamanho visual para o mesmo, poderia “resolver” o problema…

L

ou dividir os seus registros em grupos … daí põe um combo de grupos, e quando selecionado no combo um grupo, é listado no outro combo a lista de registros daquele grupo. Isso diminui o volume de dados no combo

Tche

E ae leopoldof… firme?

Então, o tamanho ao qual me refiro é ao tamnho do “quadrado” do combo após clicar na seta… saka?

Tipo quando clica na seta ela aparece todas as opções… queria setar o tamanho deste “quadrado”…

Qto ao tamanho da String, são todas com no máximo 5 caracteres… o rpoblema é que são vááááááárias opções…

L

Experimenta

combo.setMaximumRowCount( 10 );
Tche

hahahaha
showwwww

Valeu leopoldof!!!

Cara, agora só falta eu conseguir “recarregar” o combo…

L

que tipo de registro que vc tem que carregar no combo? … Produtos, clientes, carros, cidades, alunos,… ??? pra ter uma idéia para pensar numa solução…

Tche

cara, sao meras strings

Criado 8 de setembro de 2008
Ultima resposta 8 de set. de 2008
Respostas 9
Participantes 3