Problemas com ComboBox

4 respostas
G

Ai pessoal eu to com um probleminha aqui em java, eu tenho um ComboBox onde ele tem as opções “Sim e Não”, ele vem seguido de TextField e eu queria fazer o seguinte quando a pessoa escolhe no ComboBox “Não” fizesse com q o TextField ficasse enable e colocasse escrito nele “Nenhum” como eu faço para fazer isso, eu to usando o NetBeans alguem poderia me dar uma ajuda de como eu faço isso? vlw

4 Respostas

C

Acho q isso é mais uma questao de logica, faz o seguinte faz um if pra verifica se ele está selecionado, se estiver vc faz jtextfiled.setField(“Nenhum”).

Petronio_Braga

De forma geral, quando o usuário selecionar a opção desejada no combobox disparará um método (tratador/handler). O Swing traz o conceito de listeners, que são interfaces que implementamos com métodos a serem disparados por eventos. Dessa forma, você habilita ou desabilita o textfield dado a opção que for escolhida.

edwins
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class Tela extends JFrame implements ActionListener{
	
	private JComboBox combo;
	private JTextField campo;
	
	public Tela(){
		super("Minha Tela");
		setSize(400, 400);
		setVisible(true);
		Container con = getContentPane();
		con.add(getPanel(), BorderLayout.CENTER);
		
		pack();
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}
	
	private JPanel getPanel(){
		JPanel painel = new JPanel();
		painel.setLayout(new GridLayout(2,1));
		Object objs[] = new Object[2];
		objs[0] = "Sim";
		objs[1] = "Não";
		combo = new JComboBox(objs);
		combo.addActionListener(this);
		painel.add(combo);
		campo = new JTextField();
		campo.setEnabled(false);
		painel.add(campo);
		
		return painel;
	}
	
	public static void main(String args[]){
		new Tela();
	}

	public void actionPerformed(ActionEvent e) {
		
		Object eventSource = e.getSource();
		
		if(eventSource instanceof JComboBox){
			JComboBox combo2 = (JComboBox)eventSource;
			System.out.println(combo2.getSelectedItem().toString());
			if(combo2.getSelectedItem().toString().equalsIgnoreCase("Não")){
				campo.setText("Nenhum");
				campo.setEnabled(true);
			}
			else{
				campo.setText("");
				campo.setEnabled(false);
			}
		}
	}
}
G

Ai pessoal vlw heim

Criado 24 de janeiro de 2008
Ultima resposta 24 de jan. de 2008
Respostas 4
Participantes 4