Problema com JComboBox e JRadioButton (RESOLVIDIO)

9 respostas
brunorota

Ae galera
Eu tenho um JComboBox que é carregado com os dados de um banco de dados
Tipo eu seleciono um item dele até ae tudo bem, soh que quando eu clico em um JButton que é o meu botão pesquisar, o item que esta selecionado some e fica aparecendo o primeiro item da minha lista na combo, eu quero saber como eu faço pra quando eu clicar no botão o estado da combo não mudar e continuar com o item selecionado (Esse problema é apenas pra vizualização, quando isso acontece nao atrapalha nada no funcionamento do sistema, mas é que fica estranho, pq eu clico no botão pesquisar ae aparece a pesquisa relacionado ao item selecionado na combo, soh que quando eu clico em pesquisar ele pesquisa, soh q o item da combo muda, ae parece que foi pesquisado o primeiro item, fica estranho =/ )

E com o JRaddioButton é o seguinte, eu tenho 3 JRaddionButtons que estão agrupados em um ButtonGroup, eu quero fazer o seguinte quando eu seleciono algum JRaddioButton e depois eu clico novamente nele ae ele desabilita
Quando tem um JRaddionButton e ele nao esta agrupado ele faz isso automaticamente, soh que quando ele esta agrupado nao faz isso, e eu preciso disso =/

Se alguem puder me ajudar

Atenciosamente

9 Respostas

nieri

Cara posta o codigo que esta dando problema no JComboBox
e quanto ao JRaddionButton quando eles estão agrupados o funcionamento é como vc descreveu
para resolver seu problema vc pode tratar o evendo action dele para desabilitar quando for clicado
abrax

brunorota
Ta aqui o código
public JComboBox getComboItens(){
		
		if(comboItens == null){
	
			comboItens = new JComboBox();
			comboItens.setBounds(290, 310, 185, 30);
		}
		return comboItens;
	}

public void mouseClicked(MouseEvent e) {

               if(jrbComponente.isSelected()){
			
			int codEclusa = getCod(comboEclusa.getSelectedItem().toString());
			
			DefaultComboBoxModel model = new DefaultComboBoxModel(new ComponenteDB().getComboComponente(new ItemDB().getCodigosComponente(codEclusa)));
			comboItens.setModel(model);
		}
}

O combo é carregado quando eu clico nesse jrbComponente (JRaddionButton)

getComboComponente() é o método que puxa os dados do banco para carregar a combo

brunorota

o código nao esta dando erro nada
Esta tudo bem

Vou passar um exemplo doke acontece

suponhamos que eu tenho um JComboBox com os seguintes dados

casa
apartamento
carro
bruno
durval

blz

quando eu abro o frame a combo esta apresentando o primeiro dado que é a casa certo?

até ae tudo bem

ae eu vo lah clico na combo ela lista os outros dados, eu seleciono o item durval, ae a combo passa a apresentar o item durval

ae eu clico no JButton para pesquisar algo com durval, blz pesquisa tudo certinho, aparece os dados na minha JTable, soh que quando eu clico no botão pesquisar a combo volta a apresentar o primeiro item da lista que é a casa
Ae fica estranho, pq na JTable ta os dados da pesquisa do item durval, sabe é mais para aparencia mesmo
Eu quero que quando eu clico no botão a combo nao muda o item que ela esta, quero que continua com o item selecionado e nao volta no inicio da lista

acho que fui mais claro agora =P

rodrigo1

Talveza vc esteja carregando a combo novamente depois de clicar em pesquisar. Vc adiciona o listner do mouse no botão pesquisar também?

Agora no JRaddioButton o esquema eh este mesmo… vc so pode ter uma escholha no grupo … Para o comportamento que vc quer acho mais interessante o checkbox

brunorota

No grupo eu sei
Eu nao quero mais de uma escolhe sabe
Eu quero uma escolha ow nenhuma escolha
é isso que eu estou tentando fazer

eu fiz esse código só que nao deu certo

jrbComponente = new JRadioButton();
			jrbComponente.setText("1- Estrutura");
			jrbComponente.setBounds(10, 20, 109, 20);
			jrbComponente.addActionListener(new ActionListener(){

				public void actionPerformed(ActionEvent e) {
					
					if(jrbComponente.isSelected())
						jrbComponente.setSelected(false);
					else
					{
						System.out.println("EVENTOO ESPERADO");
					}
					
				}
				
			});
			//jrbComponente.addMouseListener(this);
			panelPesquisa.add(jrbComponente);

Quanto a combo eu nao carrego ela quando eu clico no botão pesquisar

rodrigo1

Então tenha usar o método clearSelection() do group do RadioButton …

brunorota

Nao estou conseguindo fazer isso =/
Esse clearSelection ele desabilita certinho
Soh que nao acho q lógica pra saber c ele jah esta ow nao selecionado

fiz isso soh q nao da certo

jrbComponente.addActionListener(new ActionListener() {
				
				public void actionPerformed(ActionEvent arg0) {
					
					if(jrbComponente.isSelected() == true)
						grupoPesquisa.clearSelection();
					else
						System.out.print("OLAESADSA");
					
				}
			});

nao sei oq fazer =/

Como eu faço pra abrir a classe JRadioButton, pra eu ver o funcionamento dela?
Talvez vendo como ela funcione eu consiga resolver meu problema

E a questão da combo ninguem sabe oq ta acontecendo?

O problema nao eh com a questão do evento do botão, pq eu tirei todos as instruções do evento do botão, e mesmo assim quando eu clico no botão, mesmo ele sem fazer nada, a combo aponta pro primeiro item da lista

tbm nao sei oq esta acontencedo =/

brunorota

Ae galera
Sobre o JComboBox alguem ae jah passou por isso?

Eu estou fazendo uns testes e me deparei com isso

Eu faço os eventos do botão com o MouseClicked, ae pra gerar o evento eh e.getSource() == brnFind desse tipo, mesmo o botão nao contendo nenhuma operação dentro do evento, a JComboBox volta pro inicio

E eu fiz o teste com o ActionListener usando o metodo ActionPerfomed pra gerar o evento, e ae a JComboBox não iniciou

Alguem tem como explicar isso? o0

Com o MouseClicked ela incicia e com o ActionPermod ela não inicia

brunorota

Ae galera depois de muito testar aki

Eu consegui achar o problema do pq a comboBox iniciava novamento

Eu estava chamando o evento errado no JRadioButton que carregava a combo

em vez de eu chamar o evento assim

public void mouseClicked(MouseEvent e) {

if(e.getSource == jRadioButton){
	Vector v = new Vector();
			v.add("Marlice");
			v.add("Felicio");
			v.add("Bruno");
			v.add("Anesio");
			v.add("Boccardo");
			
			DefaultComboBoxModel model = new DefaultComboBoxModel(v);
			
			combo.setModel(model);
}
}

eu Estava chamando assim

[/code]if(jRadioButton.isSelected){
//Código
}

[code]

Ae quando eu clicava em qualquer componente que gerava um evento com o MouseClicked a combo iniciava a lista

Obrigado a todos pela atenção dada ao meu tópido

Agradeço muitoo

Obrigado novamente =)

[code]

Criado 24 de julho de 2009
Ultima resposta 29 de jul. de 2009
Respostas 9
Participantes 3