JCombobox preencher um combo com o valor de outro

0 respostas
A

Pessoal,

Help me, please!!!

Eu tenho uma tela e nela duas combobox, uma está preenchendo normalmente mas a segunda eu gostaria de preencher com a opção selecionada na primeira combobox. Vou postar o código tb pra darem uma olhada... e se puderem me ajudar agradeço

/**
 * @(#)TelaAluno.java
 *
 *
 * @
 * @version 1.00 2008/11/10
 */

import javax.swing.*; 
import java.awt.*; 
import java.awt.event.*; 
import java.util.*;
import java.util.ArrayList;
import java.beans.*;
import java.sql.*;

public class TelaAluno extends JInternalFrame {
	
	private Container c;
    private GridBagLayout gb;
    private GridBagConstraints gbc;

	JLabel lCodigo, lNome, lRg, lCpf, lDt_Nasc, lPai, lMae, lCelular, lCidade, lTp_Cadastro, lEndereco, lTelefone, lComplemento,lEstado;
	JTextField tNome, tRg, tCpf, tDt_Nasc, tPai, tMae, tCelular, tEndereco, tTelefone, tComplemento;
	JComboBox cboTp_Cadastro, cboCidade, cboEstado;
	JButton bInserir, bAlterar;
	ResultSet rCidade,rEstado;
	
	BD ManipBanco = new BD();
    
    public TelaAluno() {
    	super("Cadastro de Aluno");
		JPanel pPanel = new JPanel();		
        pPanel.setLayout(new GridBagLayout());
		lCodigo = new JLabel("Código: ");
		lNome = new JLabel("Nome: ");
		lRg = new JLabel("RG: ");
		lCpf = new JLabel("CPF: ");
		lDt_Nasc = new JLabel("Dt. Nasc.: ");
		lPai = new JLabel("Nome do Pai: ");
		lMae = new JLabel("Nome da Mãe: ");
		lTelefone = new JLabel("Telefone: ");
		lCelular = new JLabel("Celular: ");
		lCidade = new JLabel("Cidade: ");
		lTp_Cadastro = new JLabel("Tipo de Cadastro: ");
		lEndereco = new JLabel("Endereço: ");
		lComplemento = new JLabel("Complemento: ");
		lCidade = new JLabel("Cidade: ");
		lEstado = new JLabel("Estado: ");
		
		cboTp_Cadastro = new JComboBox();
		
		cboEstado = new JComboBox(listaEstado());
		cboCidade = new JComboBox(listaCidade(cboEstado.selectedValue()));
		
		tNome = new JTextField(50);
		tRg = new JTextField(14);
		tCpf = new JTextField(14);
		tDt_Nasc = new JTextField(10);
		tPai = new JTextField(50);
		tMae = new JTextField(50);
		tTelefone = new JTextField(14);
		tCelular = new JTextField(14);
		tEndereco = new JTextField(50);
		tComplemento = new JTextField(50);
		
		bInserir = new JButton("Inserir");
		bAlterar = new JButton("Alterar");
		
		pPanel.setBorder(javax.swing.BorderFactory.createEtchedBorder());
		
		Adiciona (pPanel,lCodigo,      0, 0, 1, 1, 1, 1);
		Adiciona (pPanel,lNome,        0, 1, 1, 1, 1, 1);
		Adiciona (pPanel,tNome,        0, 2, 1, 1, 1, 1);
		Adiciona (pPanel,lTp_Cadastro, 0, 3, 1, 1, 1, 1);
		
		Adiciona (pPanel,lRg,          1, 0, 1, 1, 1, 1);
		Adiciona (pPanel,tRg,          1, 1, 1, 1, 1, 1);
		Adiciona (pPanel,lCpf,         1, 2, 1, 1, 1, 1);
		Adiciona (pPanel,tCpf,         1, 3, 1, 1, 1, 1);
		Adiciona (pPanel,lDt_Nasc,     1, 4, 1, 1, 1, 1);
		Adiciona (pPanel,tDt_Nasc,     1, 5, 1, 1, 1, 1);
		
		Adiciona (pPanel,lPai,         2, 0, 1, 1, 1, 1);
		Adiciona (pPanel,tPai,         2, 1, 1, 1, 1, 1);
		Adiciona (pPanel,lMae,         2, 2, 1, 1, 1, 1);
		Adiciona (pPanel,tMae,         2, 3, 1, 1, 1, 1);
		
		Adiciona (pPanel,lTelefone,    3, 0, 1, 1, 1, 1);
		Adiciona (pPanel,tTelefone,    3, 1, 1, 1, 1, 1);
		Adiciona (pPanel,lCelular,     3, 2, 1, 1, 1, 1);
		Adiciona (pPanel,tCelular,     3, 3, 1, 1, 1, 1);
		
		Adiciona (pPanel,lEndereco,    4, 0, 1, 1, 1, 1);
		Adiciona (pPanel,tEndereco,    4, 1, 1, 1, 1, 1);
		Adiciona (pPanel,lEstado,      4, 2, 1, 1, 1, 1);
		Adiciona (pPanel,cboEstado,    4, 3, 1, 1, 1, 1);
		Adiciona (pPanel,lCidade,      4, 4, 1, 1, 1, 1);
		Adiciona (pPanel,cboCidade,    4, 5, 1, 1, 1, 1);
		
		Adiciona (pPanel,lComplemento, 5, 0, 1, 1, 1, 1);
		Adiciona (pPanel,tComplemento, 5, 1, 1, 1, 1, 1);
		
		Adiciona (pPanel,bInserir,     6, 0, 1, 1, 1, 1);
		Adiciona (pPanel,bAlterar,     6, 1, 1, 1, 1, 1);
		
		//panel.add(b);
		  
        // Seta o frame criado como o selecioando   
        //this.setSelected(true);
		this.add(pPanel);
		this.setClosable(true);
		this.setMaximizable(true);   
        this.setResizable(true);   
        try
		{ 
		 this.setMaximum(true);
		}
		catch (Exception ex) 
		{
		}

        //this.setIconifiable(true);   
        //this.setFrameIcon(null);
    }
    
    public String[] listaCidade(int CodEstado){
	    String query,lista[],cidade;
		
		lista = new String[1000];
		
		query = "select * from cidade where cod_estado = " + CodEstado;	
		
		ManipBanco.CarregaDrive();
	    ManipBanco.ConectaBanco();  
	    ManipBanco.CanaldeComando();
			
		rCidade = ManipBanco.ConsultaDados(query);
		
		int i = 0;
		i = 0;
		try{
		  while(rCidade.next()){
			cidade = rCidade.getString("descricao");
			lista[i] = cidade;
			i += 1;
		  }
		}catch(Exception e){
		  e.printStackTrace(); 
	    }	
		ManipBanco.DesconectaBanco();
		
		return lista;
    }
    
    public String[] listaEstado(){
	    String query,lista[],estado;
		
		lista = new String[1000];
		
		query = "SELECT * FROM estado";	
		
		ManipBanco.CarregaDrive();
	    ManipBanco.ConectaBanco();  
	    ManipBanco.CanaldeComando();
			
		rEstado = ManipBanco.ConsultaDados(query);
		
		int i = 0;
		i = 0;
		try{
		  while(rEstado.next()){
			estado = rEstado.getString("descricao");
			lista[i] = estado;
			i += 1;
		  }
		}catch(Exception e){
		  e.printStackTrace(); 
	    }	
		ManipBanco.DesconectaBanco();
		
		return lista;
    }
    
    private void Adiciona (JPanel c, Component elemento, int linha, int coluna, int comprimento, int altura, int crescimentox, int crescimentoy) {
      GridBagConstraints gbc = new GridBagConstraints();
      gbc.fill = GridBagConstraints.BOTH;
      gbc.gridx = coluna;
      gbc.gridy = linha;
      gbc.gridwidth = comprimento;
      gbc.gridheight = altura;
      gbc.weightx = crescimentox;
      gbc.weighty = crescimentoy;
      gbc.insets = new Insets (5, 5, 5, 5); 
      GridBagLayout gb = (GridBagLayout) c.getLayout();
      gb.setConstraints( elemento, gbc );
      c.add(elemento);
  }
}
Criado 29 de novembro de 2008
Respostas 0
Participantes 1