Criar dinamicamente um JComboBox

6 respostas
Amaury_Goncalves

Bom dia galera! Sou novo na linguagem java, por isto tem irei postar a seguinte dúvida:

Estou criando um software em JSE, no NetBeans. Preciso que quando o usuário clicar em um JButton, fosse criado um JComboBox em seguida. Eu crio os meus componentes arrastando naquela paleta de componentes do NetBeans, mas para esta ocasião não irá ser possível.

Desde já, agradeço aí galera!

6 Respostas

R

O JComboBox terá de ser colocado num Container, tal como um JPanel. Assim, ao desenhar o formulário no NetBeans, crie um JPanel para receber a ComboBox que será criada em tempo de execução. Para adicionar a ComboBox ao formulário, supondo que seu JPanel chama-se “painel”, é só fazer como segue:

JComboBox combo = new JComboBox();
painel.add(combo);
painel.validate();
painel.repaint();
Amaury_Goncalves

Oh cara. Valeu aí. Deu certo. Como sou novo aqui no fórum, eu tenho que fazer algo mais para dar um crédito a vc aí.

Mas desde já, valeu aí cara

R

Até onde sei, não há “crédito” aqui no GUJ, então não se preocupe com isso :slight_smile: Sugiro apenas incluir a tag “[RESOLVIDO]” no título do tópico para deixar registrado que seu problema foi solucionado.

Amaury_Goncalves

Bleza cara. Só mais uma coisa. Como eu alinharia este componete. Por exemplo, quero que eles fique alinhados a esquerda ou no centro.

Agradeço mais uma vez

R

Para obter alinhamento à esquerda, configure o JPanel para usar o gerenciador de layout FlowLayout com alinhamento FlowLayout.LEADING. Para obter alinhamento centralizado, sugiro dois caminhos: use FlowLayout com alinhamento FlowLayout.CENTER, ou BorderLayout. Neste último caso, não se esqueça de usar painel.add(combo, BorderLayout.CENTER); para indicar o alinhamento centralizado em vez de simplesmente usar painel.add(combo);.

http://docs.oracle.com/javase/tutorial/uiswing/layout/flow.html
http://docs.oracle.com/javase/tutorial/uiswing/layout/border.html

Amaury_Goncalves

Valeu cara. Ajudou muito. Mas, só não tô achando onde marco como resolvido.

Mas uma vez agradeço

Criado 3 de janeiro de 2012
Ultima resposta 4 de jan. de 2012
Respostas 6
Participantes 2