[RESOLVIDO] Atualizar JPanel ao mudar opção do JComboBox

Tenho na tela que estou fazendo um JComboBox com os clientes, abaixo tenho um JPanel, com um JTextPane, contendo os dados do cliente.

Como faço pra alterar essas informações ao alterar o cliente no JComboBox???

Consegui.

Caso alguém precise, segue como fiz.

Tanto o JComboBox que tem os clientes qt o JPanel com as informações do mesmo, estão dentro de um JPanel que representa a aba de dados da nota fiscal em um JTabbedPane. Todos os componentes dessa aba são gerados através de 8 métodos, o combobox no segundo método e as informações do cliente no oitavo. Ao trocar o combobox, o oitavo método é executado novamente mas com o id do novo cliente passado como parâmetro.

Criação do JComboBox contendo os clientes e a ação do mesmo.

private void adicionaDadosPanel2(NotaFiscal nota) {
		/*
		 * Criação do segundo JPanel
		 * Cliente
		 */
		try {
			panel2 = new JPanel();
			panel2.setLayout(null);
			panel2.setBounds(0, 30, 1010, 30);
			// Seleciona os clientes pra adicionar no comboBox
			ClienteDAO cDAO = new ClienteDAO();
			clientes = (ArrayList<Cliente>) cDAO.findAllNFClean();
			// Cria o Array de objetos para adicionar no JComboBox
			combo2 = new Object[clientes.size()+1];
			int i = 0;
			// Variavel pra guardar qual opção selecionar
			int selecionar = 0;
			// Adiciona a opção 'Selecione...' na primeira posição do combo
			combo2[i] = "Selecione...";
			i++;
			for(Cliente cliente : clientes){
				// Guarda qual opção selecionar
				if(nota.getIdInstituicaoDestinatario() == cliente.getIdInstituicao())
					selecionar = i;
				// Verifica o estado pra adicionar
				String estado = "";
				if((Endereco)cliente.getEnderecos().get(0)!=null)
					estado = " ("+((Endereco)cliente.getEnderecos().get(0)).getMunicipio().getSiglaUF()+")";
				combo2[i] = cliente.getCodigo()+"/"+cliente.getRazaoSocial()+estado;
				i++;
			}
			// JLabel, ComboBox e CheckBox do destinatário
			destLabel = new JLabel("Destinatário");
			destLabel.setBounds(1, 6, 100, 20);
			panel2.add(destLabel);
			destComboBox = new JComboBox(combo2);
			destComboBox.setBackground(Color.WHITE);
			// Seleciona o cliente a partir da nota
			destComboBox.setSelectedIndex(selecionar);
			// Muda as informações do cliente ao alterar o combobox
			destComboBox.addActionListener(new ActionListener() {
				@Override
				public void actionPerformed(ActionEvent e) {
					JComboBox cb = (JComboBox) e.getSource();
					int select = cb.getSelectedIndex();
					if(select == 0){
						adicionaDadosPanel8(select);
					} else {
						Cliente cl = clientes.get(select-1);
						adicionaDadosPanel8(cl.getIdInstituicao());
						notaPrincipal.setIdInstituicaoDestinatario(cl.getIdInstituicao());
					}
				}
			});
			destComboBox.setBounds(101, 6, 700, 20);
			panel2.add(destComboBox);
			usarEnderecoEntrega = new JCheckBox("Usar endereço de entrega");
			// Seta o check de acordo com a nota
			if(nota.isUsarEndereco())
				usarEnderecoEntrega.setSelected(true);
			usarEnderecoEntrega.setBounds(805, 6, 200, 20);
			panel2.add(usarEnderecoEntrega);
			// Adiciona o segundo JPanel no Jpanel principal
			abaDadosDaNota.add(panel2);
			
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

Informações do cliente selecionado:

private void adicionaDadosPanel8(long idInstituicaoDestinatario) {
		/*
		 * Criação do oitavo JPanel
		 */
		try {
			panel8 = new JPanel();
			panel8.setLayout(null);
			panel8.setBounds(0, 285, 1000, 300);
			panel8.setBorder(BorderFactory.createCompoundBorder(
					BorderFactory.createTitledBorder("Cliente"), 
					BorderFactory.createEmptyBorder(5,5,5,5)));
			// Verifica o valor do idInstituicaoDestinatario. Caso 0, sem cliente selecionado.
			if(idInstituicaoDestinatario == 0){
				String dados = "Nenhum cliente selecionado";
				// Cria o JTextPane e adiciona o texto
				clientePane = new JTextPane();
				clientePane.setBounds(5, 15, 900, 270);
				clientePane.setBackground(null);
				clientePane.setText(dados);
				// Adiciona o Panel do cliente no JPanel8
				panel8.add(clientePane);
				// Adiciona o oitavo JPanel no Jpanel principal
				abaDadosDaNota.add(panel8);
				
			} else {
				// Seleciona o cliente da nota
				ClienteDAO cDAO = new ClienteDAO();
				Cliente cliente = (Cliente) cDAO.findByInstituicao(idInstituicaoDestinatario);
				// Seleciona as informações do cliente que serão adicionadas
				String dados = "";
				// Código e razão social
				dados += cliente.getCodigo()+" - "+cliente.getRazaoSocial()+"\n";
				// Status
				dados += cliente.getStatusDecodificada()+"\n";
				// CNPJ
				dados += cliente.getCnpj()+"\n";
				// Endereço
				if((Endereco)cliente.getEnderecos().get(0)!=null){
					Endereco endereco = (Endereco)cliente.getEnderecos().get(0);
					dados += endereco.getNome()+"\n";
					dados += endereco.getLogradouro()+" - "+endereco.getNumero()+" - "+endereco.getComplemento()+"\n";
					Municipio municipio = endereco.getMunicipio();
					dados += endereco.getBairro()+", "+municipio.getNomeMunicipio()+" ("+municipio.getSiglaUF()+")\n";
					dados += endereco.getCep()+"\n";
					dados += cliente.getTelefone1()+"\n";
				}
				// Cria o JTextPane e adiciona as informações do cliente
				clientePane = new JTextPane();
				clientePane.setBounds(5, 15, 900, 270);
				clientePane.setBackground(null);
				clientePane.setText(dados);
				// Adiciona o Panel do cliente no JPanel8
				panel8.add(clientePane);
				// Adiciona o oitavo JPanel no Jpanel principal
				abaDadosDaNota.add(panel8);
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}