Atualizar componentes na tela depois de escolher item em jcombobox[resolvido]

18 respostas
P

ola,
bah estou com um problema tipo cada vez que seleciono um item na tela eu gero checkbox com conteúdo diferente.
Por exemplo se escolho ensino médio na tela aparece biologia, química,filosofia…disciplinas do ensino médio e se escolho ensino fundamental aparece ciências… mas o problema é que não consigo tirar da tela o conteúdo que foi escolhido anteriormente dai se escolho e.médio e depois e.fundamental aparece as disciplinas do médio e do fundamental=[
como eu atualizo a tela?preciso criar um jpanel?

obg

18 Respostas

P

a tela fica horrivel conforme o print
=[


drsmachado

É que você gera novos jcheckbox a cada iteração.
Uma solução bem tosca, seria dar, a cada vez que se seleciona o combo, um setVisible(null);
To vendo aqui se encontro algum método que exclua elementos já criados.

P

drsmachado
obrigada pela ajuda que tens me dado
=]
bah eu so trago problemas :wink:
tipo eu dou um setVisible(null); nas check?
obg

drsmachado

Isso.
Assim você está “apagando”, mas não excluindo as mesmas.
Eu dei uma olhada na API e existe o método remove(Component comp);
Tenta ver se ajuda aí.

P

bah tipo mesmo criando um novo painel para cada item selecionado ele deixa o painel anterior
=[
:roll: bm não sei como aualizar esta tela :oops:
nas outras telas que eu usei combobox eu atualizava ela com o metodo setSelected(null) mas aki nao ta resolvendo
=[

P

drsmachado
tipo este metodo remove eu uso apos cada seleção?
obg
=]

P

drsmachado
eu fiz assim:

else if(comboBox.getSelectedItem().equals("Ensino Fundamental")) { removeAll();...}
dai deu certo tipo removeu os itens da seleção anterior!
mtoooooooooooooo obrigada!
=]

drsmachado

Beleza.

P

só tm uma coisa agora que percebi
tipo ele remove os itens da seleção anterior e tipo todos os outros itens da tela ficam inacessíveis para mim,eu não consigo usa-los :shock:
o que eu fiz?
tipo se tivesse removido os outros itens eles não deveriam aparecer na tela,neh?

drsmachado

Ficam desabilitados?
A princípio, não deveria aparecer nenhum item removido.

P
sim tipo os itens da seleção anterior somem mas o restante dos itens da tela continuam desabilitados eu tmbm nao entendi tipo eles permanecem na tela mas eu nao posso utiliza-los não sei como ocorreu isto eu usei o metodo remove apos a 2 selesção
else if(comboBox.getSelectedItem().equals("Ensino Fundamental"))
					{
						removeAll();
						c=2;	
						
...
não sei o que aconteceu!
drsmachado

Entendi.
Bom, tenta usar o método remove. Aí você especifica quais componentes quer remover.

P

ta tipo usar o remove(ck[i][i]); por exemplo,
pq na verdade dakele jeito eu tava excluindo tdo fiz este teste usando um repaint apos o removeAll dai a tela ficou vazia :shock:

drsmachado

Ou…
Criar um novo JPanel dentro da tela e colocar os checkbox nele.
Aí você dâ um newPanel.removeAll();
Então os elementos deste Panel serão excluídos.

P

acho que vou tentar deste jeito pq meu remove não esta removendo
=[

drsmachado

Fiz uns testes com remove e não consegui também.
Colocando num novo panel, ao menos, já tem a certeza que o método removeAll() funciona.

P

bah fiz o seguinte criei um painel para cada ensino e removo o criado anteriormente da tela,mas isto so funciona para o segundo item que é escolhido pela combo se escolho o item e.medio e depois e.fund fica as disciplinas do e.medio mas se escolho o e.fund e depois o e.medio ele da ceto so fica as disciplinas do e.medio

o q esta errado?
obg

P

obrigada pela ajuda drsmachado
consegui resolver crando um unico jpanel e apenas alterando o tamanho quando um item da combo foi selecionado e claro removendo os da seleção anterior
bah muito obrigada
=]

Criado 3 de fevereiro de 2011
Ultima resposta 7 de fev. de 2011
Respostas 18
Participantes 2