Combobox

9 respostas
danielweb

Carregar dados de uma array para uma comboBox
como faço para carregar o itens do array para a comboBox
estou usando o eclipse desde já agradeço !

9 Respostas

S

Posta o que vc já fez, para podermos analisar e ajudar.

danielweb

tenho um Frame chamdo caixaFrame neste Frame tem cinco botões os quais são: Criar nova conta, Listar contas cadastradas, deposito, saque sendo os dois na mesma janela se clicar em deposito abre a janela se clica em saque abre a mesma porem com o nome trocado no title e o botão transferencia até criar nova conta e listar contas fia direitinho tá tudo funcionando so que na hora de criar o metodo carregarDados na depositoSaqueFrame não consigo como que faço há já excluir os itens da ComboBox
meu array tem cinco possições.

S

vc quer jogar o conteúdo de um array pra dentro de uma combobox ?

danielweb
package br.com.tecnologiaBr.contaCorrente.view;
import java.awt.BorderLayout;
import java.awt.Component;
import javax.swing.ComboBoxModel;
import javax.swing.DefaultComboBoxModel;
import javax.swing.GroupLayout;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JComponent;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.LayoutStyle;
import javax.swing.SwingConstants;

import javax.swing.WindowConstants;
import javax.swing.SwingUtilities;

import br.com.tecnologiaBr.contaCorrente.controller.Controlador;
import br.com.tecnologiaBr.contaCorrente.model.Conta;


/**
* This code was edited or generated using CloudGarden's Jigloo
* SWT/Swing GUI Builder, which is free for non-commercial
* use. If Jigloo is being used commercially (ie, by a corporation,
* company or business for any purpose whatever) then you
* should purchase a license for each developer using Jigloo.
* Please visit www.cloudgarden.com for details.
* Use of Jigloo implies acceptance of these licensing terms.
* A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED FOR
* THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED
* LEGALLY FOR ANY CORPORATE OR COMMERCIAL PURPOSE.
*/
public class DepositoSaqueFrame extends javax.swing.JFrame {

	{
		//Set Look & Feel
		try {
			javax.swing.UIManager.setLookAndFeel(javax.swing.UIManager.getSystemLookAndFeelClassName());
		} catch(Exception e) {
			e.printStackTrace();
		}
	}

	private JPanel jPanel1;
	private JTextField valorTextField;
	private JButton okButton;
	private JButton cancelarButton;
	private JLabel jLabel2;
	private JComboBox contaComboBox;
	private JLabel jLabel1;
	
	private Controlador controlador; 
	
	/**
	 * 
	 */
	public void setControlador(Controlador controlador) {
		this.controlador = controlador;
	}
	/**
	* Auto-generated main method to display this JFrame
	*/
	public static void main(String[] args) {
		SwingUtilities.invokeLater(new Runnable() {
			public void run() {
				DepositoSaqueFrame inst = new DepositoSaqueFrame();
				inst.setLocationRelativeTo(null);
				inst.setVisible(true);
			}
		});
	}
	
	public DepositoSaqueFrame() {
		super();
		initGUI();
	}
	
	private void initGUI() {
		try {
			setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
			this.setTitle("Depósito");
			{
				jPanel1 = new JPanel();
				GroupLayout jPanel1Layout = new GroupLayout((JComponent)jPanel1);
				getContentPane().add(jPanel1, BorderLayout.CENTER);
				jPanel1.setLayout(jPanel1Layout);
				{
					jLabel1 = new JLabel();
					jLabel1.setText("Conta:");
				}
				{
					ComboBoxModel contaComboBoxModel = 
						new DefaultComboBoxModel(
								new String[] { "Item One", "Item Two" });
					contaComboBox = new JComboBox();
					contaComboBox.setModel(contaComboBoxModel);
				}
				{
					jLabel2 = new JLabel();
					jLabel2.setText("Valor:");
				}
				{
					okButton = new JButton();
					okButton.setText("Ok");
				}
				{
					valorTextField = new JTextField();
				}
				{
					cancelarButton = new JButton();
					cancelarButton.setText("Cancelar");
				}
				jPanel1Layout.setHorizontalGroup(jPanel1Layout.createSequentialGroup()
					.addContainerGap()
					.addGroup(jPanel1Layout.createParallelGroup()
					    .addComponent(jLabel2, GroupLayout.Alignment.LEADING, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
					    .addComponent(jLabel1, GroupLayout.Alignment.LEADING, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE))
					.addGroup(jPanel1Layout.createParallelGroup()
					    .addComponent(valorTextField, GroupLayout.Alignment.LEADING, 0, 322, Short.MAX_VALUE)
					    .addComponent(contaComboBox, GroupLayout.Alignment.LEADING, 0, 322, Short.MAX_VALUE)
					    .addGroup(GroupLayout.Alignment.LEADING, jPanel1Layout.createSequentialGroup()
					        .addGap(0, 162, GroupLayout.PREFERRED_SIZE)
					        .addComponent(okButton, GroupLayout.PREFERRED_SIZE, 77, GroupLayout.PREFERRED_SIZE)
					        .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED, 0, GroupLayout.PREFERRED_SIZE)
					        .addComponent(cancelarButton, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
					        .addGap(0, 0, Short.MAX_VALUE)))
					.addContainerGap());
				jPanel1Layout.linkSize(SwingConstants.HORIZONTAL, new Component[] {cancelarButton, okButton});
				jPanel1Layout.setVerticalGroup(jPanel1Layout.createSequentialGroup()
					.addContainerGap()
					.addGroup(jPanel1Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
					    .addComponent(contaComboBox, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
					    .addComponent(jLabel1, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, 21, GroupLayout.PREFERRED_SIZE))
					.addPreferredGap(LayoutStyle.ComponentPlacement.UNRELATED)
					.addGroup(jPanel1Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
					    .addComponent(valorTextField, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
					    .addComponent(jLabel2, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, 18, GroupLayout.PREFERRED_SIZE))
					.addGap(0, 174, Short.MAX_VALUE)
					.addGroup(jPanel1Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
					    .addComponent(cancelarButton, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, 24, GroupLayout.PREFERRED_SIZE)
					    .addComponent(okButton, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE))
					.addContainerGap());
				contaComboBox.removeAllItems();
				
			}
			pack();
			this.setSize(347, 158);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
			
}
marciodejesus

Meu amigo utiliza o code para colocar o seu codigo se não fica dificil de pra enteder.
Obrigado

danielweb

COMO QUE UTILIZA SOU NOVO NO FORUM

danielweb

OPA JÁ DESCOBRI A MINHA DÚVIDA DO ARRAY PARA COMBO BOX

ViniGodoy

Oi. Algumas dicas para seus futuros posts. Segui-las vai fazer você ser atendido mais rapidamente no fórum:

  1. Você utiliza a tag code assim:
seu código aqui

Tem um botão em cima da caixa de texto que você usa para digitar o texto do tópico com o nome “code”. Você pode simplesmente selecionar o código e pressionar esse botão. Ou, pressiona-lo, colar o código, e pressiona-lo novamente.

  1. Se você achou a resposta para seu problema, por favor, poste-a aqui no tópico. Assim, quem tiver o mesmo problema que você no futuro poderá cair no tópico e saber a solução.

  2. Não poste coisas em LETRAS MAIUSCULAS. Fica pior de ler. E procure dar títulos mais descritivos para o seu tópico como “Carregar dados do array para Combobox”.

  3. Procure postar só o trecho de código relevante para a solução do problema. O formatador de código é lento, e postar muito código pode deixar o tópico meio travado, o que reduziria o número de visitas a ele. Se precisar mesmo colocar muito código, zipe tudo num arquivo e use a opção attachments. Há um botão para isso logo abaixo da caixa de texto onde você digita o texto do tópico.

danielweb

Obrigado pelos esclarecimentos.
A resposta da Dúvida que eu tinha é o seguinte tenho uma array com 5 posições e precisave carregar esse array para uma comboBox
o código ficaria assim.
No controlador seria:

public boolean controlarDeposito(){ // aqui o metodo é declarado
		
		if (pos == 0){  //  aqui senão tiver nenhuma posição do array não chama o metódo  
			return false;
		}
		else{
			DepositoSaqueFrame form = new DepositoSaqueFrame();  // acha a janela que contem a comboBox
			form.setTitle("Depósito");  // aqui muda o titulo da janela porque é a mesma usada em saque
			form.setControlador(this);  //  aqui diz ei janela eu o conrolador te controlo
			form.carregarDados(contas);  //  aqui finalmente carrega os dados do array para a comboBox
			form.setLocationRelativeTo(null);
			form.setVisible(true);
			return true;
		}
	}

Agora o código do Frame DepositoSaqueFrame:

public void carregarDados(Conta [] contas){
				contaComboBox.removeAllItems(); // remove os itens da comboBox
				for (Conta conta : contas) { // busca os valores do array com for
					contaComboBox.addItem(conta);
				}
			
			}

Repito abrigado pelos esclarecimento e até próxima.

Criado 30 de janeiro de 2010
Ultima resposta 31 de jan. de 2010
Respostas 9
Participantes 4