JComboBox como fazer a lista

12 respostas
V

Bom Dia Pessoal!!

Preciso de um Ajuda, sou nova em programação e preciso fazer um cadastro de cliente, onde eu quero colocar o JComboBox de estado civil com uma lista de solteiro, casado, divorciado, ja cionsegui fazer o JComboBox, porém não consegui fazer a lista.

meu codigo do JComoboBox é :

estadocivilcb = new JComboBox(); estadocivilcb.setLocation(new java.awt.Point(85,100)); estadocivilcb.setSize(new java.awt.Dimension(155,30));

12 Respostas

alexandre.ribeiro

Agora você cria um vetor de String com os valores que deseja colocar no JComboBox e depois seta o modelo do ComboBox:

String [] estadoCivil = {"solteiro", "casado", "divorciado", "..."};

ComboBoxModel model; // necessário importar import javax.swing.DefaultComboBoxModel; ou import javax.swing.*;
model = new DefaultComboBoxModel(estadoCivil); // passa na instância o vetor com os dados
estadocivilcb.setModel(model);

Avise se conseguir!

V

Não consegui enterder!!

Me explica melhor por favor!

Obrigada.

_

Faz o seguinte:

estadocivilcb = new JComboBox();
        DefaultComboBoxModel model = new DefaultComboBoxModel(); 
        estadocivilcb.setModel(model);
        estadocivilcb.addItem("Casado");
        estadocivilcb.addItem("Solteiro");
        estadocivilcb.addItem("Divorciado");

Se funcionar avisa ae.

V

O meu codigo é esse!!

vê se vc consegue me ajudar!

import java.awt.Dimension;
import java.awt.FlowLayout;
import javax.swing.BorderFactory;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;


public class CadastroCliente1 extends JFrame {
	
	
	private JTextField nometxt;
	private JTextField sobrenometxt;
	private JTextField cpftxt;
	private JTextField rgtxt;
	private JTextField profissaotxt;
	
	private JTextField datanascimentotxt;
	private JTextField ruatxt;
	private JTextField numerotxt;
	private JTextField complementotxt;
	private JTextField bairrotxt;
	private JTextField cidadetxt;
	
	private JTextField ceptxt;
	private JTextField telefone1txt;
	private JTextField telefone2txt;
	private JTextField telefone3txt;
	private JTextField emailtxt;
	private JLabel nomelbl ;
	private JLabel sobrenomelbl;
	private JLabel cpflbl;
	private JLabel rglbl;
	private JLabel profissaolbl;
	private JLabel estadocivillbl;
	private JLabel datanascimentolbl;
	private JLabel rualbl;
	private JLabel numerolbl;
	private JLabel complementolbl;
	private JLabel bairrolbl;
	private JLabel cidadelbl;
	private JLabel estadolbl;
	private JLabel ceplbl;
	private JLabel telefone1lbl;
	private JLabel telefone2lbl;
	private JLabel telefone3lbl;
	private JLabel emaillbl;
	private JComboBox estadocb;
	private JComboBox estadocivilcb;
	private JFrame Janela;
	private JButton cadastrarbtn;
	private JPanel pnlDadosPessoais;
	private JPanel pnlEndereco;
	private JPanel pnlContatos;
	
	
	public static void main(String args[])
	
		{
			new CadastroCliente1();
		
		}  	  

	public  CadastroCliente1 ()

	{
		
		nometxt = new JTextField();
		nometxt.setLocation(50, 20);
		nometxt.setSize(190, 30);
		sobrenometxt = new JTextField();
		sobrenometxt.setLocation(325, 20);
		sobrenometxt.setSize(265, 30);
		cpftxt = new JTextField();
		cpftxt.setLocation(50, 60);
		cpftxt.setSize(190, 30);
		rgtxt = new JTextField();
		rgtxt.setLocation(275, 60);
		rgtxt.setSize(100, 30);
		profissaotxt = new JTextField();
		profissaotxt.setLocation(315, 100);
		profissaotxt.setSize(275, 30);
		
		estadocivilcb = new JComboBox();   
		estadocivilcb.setLocation(new java.awt.Point(85,100));   
		estadocivilcb.setSize(new java.awt.Dimension(155,30));   

		DefaultComboBoxModel model = new DefaultComboBoxModel(); 
		estadocivilcb.setModel(model);
		estadocivilcb.addItem("Casado");
		estadocivilcb.addItem("Solteiro");
		estadocivilcb.addItem("Divorciado");
		 



		
		datanascimentotxt= new JTextField();
		datanascimentotxt.setLocation(505, 60);
		datanascimentotxt.setSize(85, 30);
		ruatxt = new JTextField();
		ruatxt.setLocation(50,20);
		ruatxt.setSize(190,30);
		numerotxt = new JTextField();
		numerotxt.setLocation(310,20);
		numerotxt.setSize(100,30);
		complementotxt = new JTextField();
		complementotxt.setLocation(105,60);
		complementotxt.setSize(135,30);
		bairrotxt = new JTextField();
		bairrotxt.setLocation(310,60);
		bairrotxt.setSize(280,30);
		cidadetxt = new JTextField();
	
		estadocb = new JComboBox();   
		estadocb.setLocation(new java.awt.Point(310,100));   
		estadocb.setSize(new java.awt.Dimension(150,30));   

		ceptxt = new JTextField();
		ceptxt.setLocation(460,20);
		ceptxt.setSize(130,30);
		telefone1txt = new JTextField();
		telefone1txt.setLocation(140, 20);
		telefone1txt.setSize(160, 30);
		telefone2txt = new JTextField();
		telefone2txt.setLocation(140, 60);
		telefone2txt.setSize(160, 30);
		telefone3txt = new JTextField();
		telefone3txt.setLocation(430,20);
		telefone3txt.setSize(160,30);
		emailtxt = new JTextField();
		emailtxt.setLocation(370,60);
		emailtxt.setSize(220,30);
		
	
		nomelbl = new JLabel ("Nome: ");
		nomelbl.setLocation(10, 20);
		nomelbl.setSize(100, 30);
		sobrenomelbl = new JLabel ("Sobrenome: ");
		sobrenomelbl.setLocation(250, 20);
		sobrenomelbl.setSize(100, 30);
		cpflbl = new JLabel ("CPF: ");
		cpflbl.setLocation(10,60 );
		cpflbl.setSize(100, 30);
		rglbl = new JLabel ("RG: ");
		rglbl.setLocation(250, 60);
		rglbl.setSize(100, 30);
		profissaolbl = new JLabel ("Profissão: ");
		profissaolbl.setLocation(250, 100);
		profissaolbl.setSize(100, 30);
		estadocivillbl= new JLabel ("Estado Civil: ");
		estadocivillbl.setLocation(10,100);
		estadocivillbl.setSize(100,30);
		datanascimentolbl = new JLabel ("Data de Nascimento: ");
		datanascimentolbl.setLocation(380, 60);
		datanascimentolbl.setSize(120, 30);
		rualbl = new JLabel ("Rua : ");
 		rualbl.setLocation(10,20);
 		rualbl.setSize(100,30);
 		numerolbl = new JLabel ("Número : ");
 		numerolbl.setLocation(250,20);
 		numerolbl.setSize(100,30);
 		complementolbl = new JLabel ("Complemento : ");
 		complementolbl.setLocation(10,60);
 		complementolbl.setSize(100,30);
 		bairrolbl = new JLabel ("Bairro : ");
 		bairrolbl.setLocation(250,60);
 		bairrolbl.setSize(100,30);
 		cidadelbl = new JLabel ("Cidade : ");
 		cidadelbl.setLocation(10,100);
 		cidadelbl.setSize(100,30);
 		estadolbl = new JLabel ("Estado : ");
 		estadolbl.setLocation(250,100);
 		estadolbl.setSize(100,30);
 		ceplbl = new JLabel ("CEP : ");
 		ceplbl.setLocation(420,20);
 		ceplbl.setSize(100,30);
 		telefone1lbl= new JLabel ("Telefone Residencial: ");
		telefone1lbl.setLocation(10,20);
		telefone1lbl.setSize(130,30);
		telefone2lbl= new JLabel ("Telefone Celular: ");
		telefone2lbl.setLocation(325,20);
		telefone2lbl.setSize(100,30);
		telefone3lbl= new JLabel ("Telefone Comercial: ");
		telefone3lbl.setLocation(10,60);
		telefone3lbl.setSize(130,30);
		emaillbl= new JLabel("E-mail: ");
		emaillbl.setLocation(325,60);
		emaillbl.setSize(100,30);
		
		
		cadastrarbtn = new JButton("Cadastrar");    
		cadastrarbtn.setLocation(490,420);
		cadastrarbtn.setSize(100, 30);
		
		
		Janela = new JFrame();
 		Janela.setTitle("Cadastro de Cliente ");  
 		Janela.add (cadastrarbtn);
 		Janela.setLayout(null);
 		Janela.setLocationRelativeTo(null);
 		Janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 		Janela.setResizable(false);  
 		Janela.setSize(625,500);
 		Janela.add(cadastrarbtn);
 		Janela.setVisible(true);
 		
 		
 		JPanel pnlDadosPessoais = new JPanel();   
 		pnlDadosPessoais.setBorder(BorderFactory.createTitledBorder("Dados Pessoais: ")); 
 		pnlDadosPessoais.setPreferredSize(new Dimension(760, 150));
 		pnlDadosPessoais.setBounds(10, 10, 600, 150);
 		pnlDadosPessoais.setLayout(new FlowLayout(FlowLayout.LEFT));
	
 		
 		JPanel pnlEndereco = new JPanel();   
 		pnlEndereco.setBorder(BorderFactory.createTitledBorder("Endereço: ")); 
 		pnlEndereco.setBounds(10, 160, 600, 150);
 		pnlEndereco.setPreferredSize(new Dimension(760, 150));
 		pnlEndereco.setLayout(new FlowLayout(FlowLayout.LEFT));
 	
 		
 		JPanel pnlContatos = new JPanel();   
 		pnlContatos.setBorder(BorderFactory.createTitledBorder("Contatos: ")); 
 		pnlContatos.setPreferredSize(new Dimension (760, 150));
 		pnlContatos.setBounds(10, 310, 600, 100);
 		pnlContatos.setLayout(new FlowLayout(FlowLayout.LEFT));
 		

 		
 		Janela.add(pnlDadosPessoais);
 		pnlDadosPessoais.add(nomelbl);	
 		pnlDadosPessoais.add(nometxt);
 		pnlDadosPessoais.add(sobrenomelbl);
 		pnlDadosPessoais.add(sobrenometxt);	
 		pnlDadosPessoais.add(cpflbl);
 		pnlDadosPessoais.add(cpftxt);
 		pnlDadosPessoais.add(rglbl);	
 		pnlDadosPessoais.add(rgtxt);
 		pnlDadosPessoais.add(profissaolbl);	
 		pnlDadosPessoais.add(profissaotxt);	
 		pnlDadosPessoais.add(estadocivillbl);
 	
 		pnlDadosPessoais.add(estadocivilcb);
 		pnlDadosPessoais.add(datanascimentolbl);	
 		pnlDadosPessoais.add(datanascimentotxt);
 		
 		pnlDadosPessoais.setLayout(null); 
 		
 		Janela.add(pnlEndereco);
 		pnlEndereco.add(rualbl); 		
 		pnlEndereco.add(ruatxt);
 		pnlEndereco.add(numerolbl);
 		pnlEndereco.add(numerotxt);
 		pnlEndereco.add(complementolbl);
 		pnlEndereco.add(complementotxt);
 		pnlEndereco.add(bairrolbl);
 		pnlEndereco.add(bairrotxt);
 		pnlEndereco.add(cidadelbl);
 		pnlEndereco.add(cidadetxt);
 		pnlEndereco.add(estadolbl);
 	
 		pnlEndereco.add(ceplbl);
 		pnlEndereco.add(ceptxt);
 		pnlEndereco.add(estadocb);
 		pnlEndereco.setLayout(null); 
 		
 		Janela.add(pnlContatos);
 		pnlContatos.add(telefone1lbl);
 		pnlContatos.add(telefone1txt);
 		pnlContatos.add(telefone2lbl);
 		pnlContatos.add(telefone2txt);
 		pnlContatos.add(telefone3lbl);
 		pnlContatos.add(telefone3txt);
 		pnlContatos.add(emaillbl);
 		pnlContatos.add(emailtxt);
 		pnlContatos.setLayout(null); 
 		
 		
 		Janela.show();	
	
	}
}
_

Qual o erro que está dando? Qual sua dúvida?

V

Simplesmente ele não roda!!!

esse é o erro!!

Exception in thread main java.lang.NullPointerException

at CadastroCliente1.(CadastroCliente1.java:103)

at CadastroCliente1.main(CadastroCliente1.java:70)
V

é agora foi!!!

Muitooo Muitooo Obrigada!!

Agora mais um duvida que queria incluir, como eu faço um JCheckBox de masculino e feminino?

_

Uma Dica: não utiliza o método Janele.show() pois ele está depreciado. Utiliza Janela.setVisible(true) que faz a mesma coisa.

Substitui essa parte do teu código:

estadocb = new JComboBox();     
estadocb.setLocation(new java.awt.Point(310,100));     
estadocb.setSize(new java.awt.Dimension(150,30));

Utiliza o seguinte código:

estadocb = new JComboBox();
estadocb.setLocation(new java.awt.Point(310,100));
estadocb.setSize(new java.awt.Dimension(150,30));
DefaultComboBoxModel model2 = new DefaultComboBoxModel();
estadocb.setModel(model2);
estadocb.addItem("Masculino");
estadocb.addItem("Feminino");
V

Tabom Obrigada pode deixar!!
Mais agora eu quero fazer um, JCheckBox, de masculino e femino, ainda não existe nda dele, quero incluir no painel de dados pessoais.

alguém pode me ajudar!!

Obrigada;

alexandre.ribeiro
vfsouza:
Tabom Obrigada pode deixar!! Mais agora eu quero fazer um, JCheckBox, de masculino e femino, ainda não existe nda dele, quero incluir no painel de dados pessoais.

alguém pode me ajudar!!

Obrigada;


O aconselhável para este caso (Masculino e Feminino) é o JRadioButton e não o JCheckBox.
Com o JRadioButon você faz assim:

// como é só um exemplo, não vou posicionar os JRadioButtons na tela, só mesmo o básico!
public class ExemploRadioButton extends JFrame {
    JRadioButton rbMasculino, rbFeminino;
    ButtonGroup grupo; //Necessário para o agrupamento dos botões de rádio

    // construtuor:
    public ExemploRadioButton () {
        rbMasculino = new JRadioButton("Masculino");
        rbFeminino  = new JRadioButton("Feminino");

        //Adiciona os botões de rádio pertencentes ao grupo, ou seja, não deixa clicar nos dois, mas somente em Masculino OU Femino:
        grupo = new ButtonGroup();
	    grupo.add(rbMasculino);
	    grupo.add(rbFeminino);
    }
}
V

Eu tenho que fazer outra classe? não tem como eu incluir ele , sem fazer outra classe?

ObRigada

alexandre.ribeiro
vfsouza:
Eu tenho que fazer outra classe? não tem como eu incluir ele , sem fazer outra classe?

ObRigada


Claro que não tem que fazer em uma classe separada. Eu fiz em uma classe só para exemplificar. A declaração das variáveis você pode fazer embaixo do seu código atual, logo depois da sua última variável, assim:

// ........ outras variáveis estão acima
private JFrame Janela;  
private JButton cadastrarbtn;  
private JPanel pnlDadosPessoais;  
private JPanel pnlEndereco;  
private JPanel pnlContatos;
// e coloque aqui:
private JRadioButton rbMasculino, rbFeminino;  
private ButtonGroup grupo; //Necessário para o agrupamento dos botões de rádio
dentro do seu construtor ( [color=darkred]public CadastroCliente1 () {[/color] ) vc coloca o código:
rbMasculino = new JRadioButton("Masculino");  
rbFeminino  = new JRadioButton("Feminino");  
  
//Adiciona os botões de rádio pertencentes ao grupo, ou seja, não deixa clicar nos dois, mas somente em Masculino OU Femino:  
grupo = new ButtonGroup();  
grupo.add(rbMasculino);  
grupo.add(rbFeminino);
// e depois posiciona como quiser

entendeu?

Criado 9 de fevereiro de 2011
Ultima resposta 9 de fev. de 2011
Respostas 12
Participantes 3