JCombobox preencher um combo com o valor de outro

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

[code]/**

  • @(#)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);

}
}[/code]