Problemas com JComboBox, não aparece na janela

3 respostas
Scobar20
Podem me ajudar? Não consigo fazer aparecer uma JComboBox entre
labelNomeCliente = new JLabel("Nome do Cliente");
		labelNomeCliente.setBounds(10, 10, 150, 20); // 20-> posicao largura; 30-> posição altura; 100-> tamanho comprimento; 20 -> tamanho altura
		getContentPane().add(labelNomeCliente);
		labelNomeCliente.setFont( new Font( null, 0, 17 ) );
		
		labelConheceDaOnde = new JLabel("Conhece da onde?");
		labelConheceDaOnde.setBounds(10, 40, 150, 20); // 20-> posicao largura; 30-> posição altura; 100-> tamanho comprimento; 20 -> tamanho altura
		getContentPane().add(labelConheceDaOnde);
		labelConheceDaOnde.setFont( new Font( null, 0, 17 ) );
e o restante do código. Ja tentei de tudo. Alguem pode me explicar por que o JComboBox não aparece nem na janela? Como devo fazer para aparecer?
public class View extends JFrame {
	
	// Criando e instanciando uma moldura.
	private JPanel painel = new JPanel();
	
	
	// Criando variáveis do JLabel.
	JLabel labelNomeCliente;
	JLabel labelConheceDaOnde;
	JLabel labelCodigo;
	JLabel labelNomeProduto;
	JLabel labelPreco;
	// JLabel labelDesconto;
	JLabel labelValorDesconto;
	
	// Criando variáveis do JTextField
	JTextField textNomeCliente;
	JTextField textConheceDaOnde;
	JTextField textCodigo;
	JTextField textNomeProduto;
	JTextField textPreco;
	// JTextField textDesconto;
	JTextField textValorDesconto;
	
	// variáveis da criação do botão e instanciação.
	JButton botaoSalvar = new JButton("Salvar");
	JButton botaoAlterar = new JButton("Alterar");
	JButton botaoConsultar = new JButton("Consultar");
	JButton botaoExcluir = new JButton("Excluir");
	JButton botaoFechar = new JButton("Fechar");
	
	
	// Método que irá criar a janela.
	private View(){
		
		setTitle("Vendas Elisangela");

		getContentPane().add(painel, BorderLayout.CENTER);
		
		// Aqui tem que ser JFrame.
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		painel.setBorder(new EmptyBorder(5, 5, 5, 5));  
		
		/*
		 * Mude aqui a para o tamanho desejado
		 * Os dois primeiros escolhem onde a janela irá aparecer.
		 * Os dois ultimos escolhem o tamanho da janela.
		 */
		setBounds(150, 150, 515, 350); 
		painel.setSize(300, 300);
		
		
		// Layout.
		setContentPane(painel);
		painel.setLayout(null);
		
		
		// JLABEL.		
		labelNomeCliente = new JLabel("Nome do Cliente");
		labelNomeCliente.setBounds(10, 10, 150, 20); // 20-> posicao largura; 30-> posição altura; 100-> tamanho comprimento; 20 -> tamanho altura
		getContentPane().add(labelNomeCliente);
		labelNomeCliente.setFont( new Font( null, 0, 17 ) );
		
		labelConheceDaOnde = new JLabel("Conhece da onde?");
		labelConheceDaOnde.setBounds(10, 40, 150, 20); // 20-> posicao largura; 30-> posição altura; 100-> tamanho comprimento; 20 -> tamanho altura
		getContentPane().add(labelConheceDaOnde);
		labelConheceDaOnde.setFont( new Font( null, 0, 17 ) );
		
		labelCodigo = new JLabel("Código do produto");
		labelCodigo.setBounds(10, 130, 150, 20); // 20-> posicao largura; 30-> posição altura; 100-> tamanho comprimento; 20 -> tamanho altura
		getContentPane().add(labelCodigo);
		labelCodigo.setFont( new Font( null, 0, 17 ) );
		
		labelNomeProduto = new JLabel("Nome do produto");
		labelNomeProduto.setBounds(10, 160, 150, 20); // 20-> posicao largura; 30-> posição altura; 100-> tamanho comprimento; 20 -> tamanho altura
		getContentPane().add(labelNomeProduto);
		labelNomeProduto.setFont( new Font( null, 0, 17 ) );
		
		labelPreco = new JLabel("Preço do produto");
		labelPreco.setBounds(10, 190, 150, 23); // 20-> posicao largura; 30-> posição altura; 100-> tamanho comprimento; 20 -> tamanho altura
		getContentPane().add(labelPreco);
		labelPreco.setFont( new Font( null, 0, 17 ) );
		
		labelValorDesconto = new JLabel("Valor do desconto");
		labelValorDesconto.setBounds(10, 220, 150, 20); // 20-> posicao largura; 30-> posição altura; 100-> tamanho comprimento; 20 -> tamanho altura
		getContentPane().add(labelValorDesconto);
		labelValorDesconto.setFont( new Font( null, 0, 17 ) );
		
		
		// JTextField.
		textNomeCliente = new JTextField("");
		textNomeCliente.setBounds(155, 13, 250, 20);// 20-> posicao largura; 30-> posição altura; 100-> tamanho comprimento; 20 -> tamanho altura
		getContentPane().add(textNomeCliente);
		
		textConheceDaOnde = new JTextField("");
		textConheceDaOnde.setBounds(155, 43, 250, 20);// 20-> posicao largura; 30-> posição altura; 100-> tamanho comprimento; 20 -> tamanho altura
		getContentPane().add(textConheceDaOnde);
		
		textCodigo = new JTextField("");
		textCodigo.setBounds(155, 133, 250, 20);// 20-> posicao largura; 30-> posição altura; 100-> tamanho comprimento; 20 -> tamanho altura
		getContentPane().add(textCodigo);
		
		textNomeProduto = new JTextField("");
		textNomeProduto.setBounds(155, 163, 250, 20);// 20-> posicao largura; 30-> posição altura; 100-> tamanho comprimento; 20 -> tamanho altura
		getContentPane().add(textNomeProduto);
		
		textPreco = new JTextField("");
		textPreco.setBounds(155, 193, 250, 20);// 20-> posicao largura; 30-> posição altura; 100-> tamanho comprimento; 20 -> tamanho altura
		getContentPane().add(textPreco);
		
		textValorDesconto = new JTextField("");
		textValorDesconto.setBounds(155, 223, 250, 20);// 20-> posicao largura; 30-> posição altura; 100-> tamanho comprimento; 20 -> tamanho altura
		getContentPane().add(textValorDesconto);
		
		
		// BOTÕES.
		botaoSalvar.setBounds(15, 250, 90, 25); // largura que aparecerá, altura que aparecerá, largura do botão, altura do botão. 
		botaoAlterar.setBounds(110, 250, 90, 25); // largura que aparecerá, altura que aparecerá, largura do botão, altura do botão. 
		botaoConsultar.setBounds(205, 250, 90, 25); // largura que aparecerá, altura que aparecerá, largura do botão, altura do botão. 
		botaoExcluir.setBounds(300, 250, 90, 25); // largura que aparecerá, altura que aparecerá, largura do botão, altura do botão.
		botaoFechar.setBounds(395, 250, 90, 25); // largura que aparecerá, altura que aparecerá, largura do botão, altura do botão. 

		getContentPane().add(botaoSalvar); // Adicionando a variável botaoSalvar no painel.
		getContentPane().add(botaoAlterar); // Adicionando a variável botaoSalvar no painel.
		getContentPane().add(botaoConsultar); // Adicionando a variável botaoSalvar no painel.
		getContentPane().add(botaoExcluir); // Adicionando a variável botaoSalvar no painel.
		getContentPane().add(botaoFechar); // Adicionando a variável botaoFechar no painel.
		
		/*
		 * Serve para ajustar a janela de acordo com os componentes.
		 * pack();  
		 */
		setVisible(true);  
	}

3 Respostas

al.barbosa

Não entendi por que o JComboBox não aparece. Eu coloquei uma combo no código e funcionou:

public class View extends JFrame {   
       
    // Criando e instanciando uma moldura.   
    private JPanel painel = new JPanel();   
       
       
    // Criando variáveis do JLabel.   
    JLabel labelNomeCliente;   
    JLabel labelConheceDaOnde;   
    JLabel labelCombo;
    JLabel labelCodigo;   
    JLabel labelNomeProduto;   
    JLabel labelPreco;   
    // JLabel labelDesconto;   
    JLabel labelValorDesconto;   
       
    // Criando variáveis do JTextField   
    JTextField textNomeCliente;   
    JTextField textConheceDaOnde;   
    JComboBox combo;
    JTextField textCodigo;   
    JTextField textNomeProduto;   
    JTextField textPreco;   
    // JTextField textDesconto;   
    JTextField textValorDesconto;   
       
    // variáveis da criação do botão e instanciação.   
    JButton botaoSalvar = new JButton("Salvar");   
    JButton botaoAlterar = new JButton("Alterar");   
    JButton botaoConsultar = new JButton("Consultar");   
    JButton botaoExcluir = new JButton("Excluir");   
    JButton botaoFechar = new JButton("Fechar");   
       
       
    // Método que irá criar a janela.   
    public View(){   
           
        setTitle("Vendas Elisangela");   
  
        getContentPane().add(painel, BorderLayout.CENTER);   
           
        // Aqui tem que ser JFrame.   
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);   
  
        painel.setBorder(new EmptyBorder(5, 5, 5, 5));     
           
        /*  
         * Mude aqui a para o tamanho desejado  
         * Os dois primeiros escolhem onde a janela irá aparecer.  
         * Os dois ultimos escolhem o tamanho da janela.  
         */   
        setBounds(150, 150, 515, 350);   
        painel.setSize(300, 300);   
           
           
        // Layout.   
        setContentPane(painel);   
        painel.setLayout(null);   
           
           
        // JLABEL.         
        labelNomeCliente = new JLabel("Nome do Cliente");   
        labelNomeCliente.setBounds(10, 10, 150, 20); // 20-> posicao largura; 30-> posição altura; 100-> tamanho comprimento; 20 -> tamanho altura   
        getContentPane().add(labelNomeCliente);   
        labelNomeCliente.setFont( new Font( null, 0, 17 ) );    
        
        labelConheceDaOnde = new JLabel("Conhece da onde?");   
        labelConheceDaOnde.setBounds(10, 40, 150, 20); // 20-> posicao largura; 30-> posição altura; 100-> tamanho comprimento; 20 -> tamanho altura   
        getContentPane().add(labelConheceDaOnde);   
        labelConheceDaOnde.setFont( new Font( null, 0, 17 ) ); 
        
        labelCombo = new JLabel("Label da Combo");   
        labelCombo.setBounds(10, 85, 150, 20); // 20-> posicao largura; 30-> posição altura; 100-> tamanho comprimento; 20 -> tamanho altura   
        getContentPane().add(labelCombo);   
        labelCombo.setFont( new Font( null, 0, 17 ) );  
           
        labelCodigo = new JLabel("Código do produto");   
        labelCodigo.setBounds(10, 130, 150, 20); // 20-> posicao largura; 30-> posição altura; 100-> tamanho comprimento; 20 -> tamanho altura   
        getContentPane().add(labelCodigo);   
        labelCodigo.setFont( new Font( null, 0, 17 ) );   
           
        labelNomeProduto = new JLabel("Nome do produto");   
        labelNomeProduto.setBounds(10, 160, 150, 20); // 20-> posicao largura; 30-> posição altura; 100-> tamanho comprimento; 20 -> tamanho altura   
        getContentPane().add(labelNomeProduto);   
        labelNomeProduto.setFont( new Font( null, 0, 17 ) );   
           
        labelPreco = new JLabel("Preço do produto");   
        labelPreco.setBounds(10, 190, 150, 23); // 20-> posicao largura; 30-> posição altura; 100-> tamanho comprimento; 20 -> tamanho altura   
        getContentPane().add(labelPreco);   
        labelPreco.setFont( new Font( null, 0, 17 ) );   
           
        labelValorDesconto = new JLabel("Valor do desconto");   
        labelValorDesconto.setBounds(10, 220, 150, 20); // 20-> posicao largura; 30-> posição altura; 100-> tamanho comprimento; 20 -> tamanho altura   
        getContentPane().add(labelValorDesconto);   
        labelValorDesconto.setFont( new Font( null, 0, 17 ) );   
           
        // JTextField.   
        textNomeCliente = new JTextField("");   
        textNomeCliente.setBounds(155, 13, 250, 20);// 20-> posicao largura; 30-> posição altura; 100-> tamanho comprimento; 20 -> tamanho altura   
        getContentPane().add(textNomeCliente);   
           
        textConheceDaOnde = new JTextField("");   
        textConheceDaOnde.setBounds(155, 43, 250, 20);// 20-> posicao largura; 30-> posição altura; 100-> tamanho comprimento; 20 -> tamanho altura   
        getContentPane().add(textConheceDaOnde); 
        
        // JCOMBOBOX
        combo = new JComboBox();  
        combo.setBounds(155, 88, 250, 20); // 20-> posicao largura; 30-> posição altura; 100-> tamanho comprimento; 20 -> tamanho altura   
        getContentPane().add(combo);
           
        textCodigo = new JTextField("");   
        textCodigo.setBounds(155, 133, 250, 20);// 20-> posicao largura; 30-> posição altura; 100-> tamanho comprimento; 20 -> tamanho altura   
        getContentPane().add(textCodigo);   
           
        textNomeProduto = new JTextField("");   
        textNomeProduto.setBounds(155, 163, 250, 20);// 20-> posicao largura; 30-> posição altura; 100-> tamanho comprimento; 20 -> tamanho altura   
        getContentPane().add(textNomeProduto);   
           
        textPreco = new JTextField("");   
        textPreco.setBounds(155, 193, 250, 20);// 20-> posicao largura; 30-> posição altura; 100-> tamanho comprimento; 20 -> tamanho altura   
        getContentPane().add(textPreco);   
           
        textValorDesconto = new JTextField("");   
        textValorDesconto.setBounds(155, 223, 250, 20);// 20-> posicao largura; 30-> posição altura; 100-> tamanho comprimento; 20 -> tamanho altura   
        getContentPane().add(textValorDesconto);   
           
           
        // BOTÕES.   
        botaoSalvar.setBounds(15, 250, 90, 25); // largura que aparecerá, altura que aparecerá, largura do botão, altura do botão.   
        botaoAlterar.setBounds(110, 250, 90, 25); // largura que aparecerá, altura que aparecerá, largura do botão, altura do botão.   
        botaoConsultar.setBounds(205, 250, 90, 25); // largura que aparecerá, altura que aparecerá, largura do botão, altura do botão.   
        botaoExcluir.setBounds(300, 250, 90, 25); // largura que aparecerá, altura que aparecerá, largura do botão, altura do botão.   
        botaoFechar.setBounds(395, 250, 90, 25); // largura que aparecerá, altura que aparecerá, largura do botão, altura do botão.   
  
        getContentPane().add(botaoSalvar); // Adicionando a variável botaoSalvar no painel.   
        getContentPane().add(botaoAlterar); // Adicionando a variável botaoSalvar no painel.   
        getContentPane().add(botaoConsultar); // Adicionando a variável botaoSalvar no painel.   
        getContentPane().add(botaoExcluir); // Adicionando a variável botaoSalvar no painel.   
        getContentPane().add(botaoFechar); // Adicionando a variável botaoFechar no painel.   
           
        /*  
         * Serve para ajustar a janela de acordo com os componentes.  
         * pack();    
         */   
        setVisible(true);     
    } 
}
Aldeir

Você não postou a parte do código relacionado com o JComboBox, mas é simples.
Segue exemplo:

JComboBox comboBox = new JComboBox();
comboBox.setBounds(59, 73, 28, 20);
contentPane.add(comboBox);

Você adicionou o seu comboBox ao contentPane?

Scobar20

al.barbosa:
Não entendi por que o JComboBox não aparece. Eu coloquei uma combo no código e funcionou:

Cara, brigadão, sucesso total.
Testei em outro pc com o seu código e deu certo. Não sei porque no meu note não rodou.
Será que pode ser problema de cache???

Criado 5 de agosto de 2012
Ultima resposta 6 de ago. de 2012
Respostas 3
Participantes 3