Mostrando a chave estrangeira no JcomboBox

Gente como eu faço para um JcomboBox mostrar a chave estrangeira de outra tabela no Formulário do Netbeans e Salvar o resgistro escolhido no Firebird. No momento estou construindo assim e estar mostrando no Jcombobox. Porém não estou conseguindo Salvar no clique do botão. Ai eh onde esta o Problema.
f = objeto que faz a conexão
getRs() = ResultSet que consta na classe conexão sendo chamado no formulario de funcionarios
//-----------------------------------------------------------------------------------------------------------------

import Dados.DDepartamento;
import Conexao.ConexaoFB;

public class FDepartamento extends javax.swing.JDialog{
DDepartamento DD = new DDepartamento();
ConexaoFB f = new ConexaoFB(); // responsável pela conecxão

    public FDepartamento(java.awt.Frame parent, boolean modal) throws SQLException {
              super(parent, modal);
                  initComponents();
                  ConexaoFB.Conectar();// responsável pela conecxão   
f.executeSQL_DUsuario("select * from Funcionario order by FNVNOME");
    try {
        while(f.getRs().next()){

        JCFuncionario.addItem(f.getRs().getString("FNVNOME"));
        
        }
    } catch (Exception e) {
        JOptionPane.showMessageDialog(null,"Erro na visualização do Combox");

}

}//fim da inicialização

private void JBSalvarActionPerformed(java.awt.event.ActionEvent evt) {      // acão do botão salvar                                   
 
        Departamento s = new Departamento();
        Tratamento_Botoes();
        // s.setDPICODG(Integer.parseInt(JTcodigo.getText()));
       //  s.setDPICGFN(Integer.parseInt(JTFuncionario.getText()));
           s.setDPVNOME(JTDepartamento.getText());
           s.setDPVSUP(JTSupervisor.getText());
          DD.Inserir(s);// Inserir() é o metodo que consta na classe DAO, metodo de inserção dos dados no bd
   
       
}

}// final do formulario

Bem-vindo ao fórum. Quando postar códigos, por favor, use a tag code, como descrito aqui:
http://www.guj.com.br/java/50115-voce-e-novo-no-guj-vai-criar-um-topico-e-colar-seu-codigo-fonte-leia-aqui-antes-por-favor

Também é sua obrigação, principalmente como novo usuário, de ler a descrição dos fóruns antes de postar. O assunto do seu tópico pode pertencer aos fóruns de interface gráfica (já que é uma dúvida é de Swing) ou persistência (se a dúvida fosse em ler os dados do banco), mas não ao de Java básico (que envolve geralmente a sintaxe básica da linguagem). Por isso, seu tópico foi movido.

Quanto à sua dúvida em específico: Fica bastante estranho mostrar chaves para o usuários em combos. O ideal é, ao invés de cadastrar Strings na sua combo, cadastrar objetos completos. Você não tem uma classe Funcionario no seu programa? Faça o seguinte:

  1. Sobrescreva o método toString() da classe funcionário para retornar o nome;
  2. Faça um método para carregar os funcionários que você quer colocar na combo, e te retornar um List<Funcionario>();
  3. Preencha suas combos com o funcionario diretamente;

Pronto. Agora sua combo tem funcionários dentro. E funcionários conhecem seu próprio Id. Será possível fazer:

Funcionario f = (Funcionario) combo.getSelectedItem(); new FuncionarioDao().salvar(f);

[quote=ViniGodoy]Bem-vindo ao fórum. Quando postar códigos, por favor, use a tag code, como descrito aqui:
http://www.guj.com.br/java/50115-voce-e-novo-no-guj-vai-criar-um-topico-e-colar-seu-codigo-fonte-leia-aqui-antes-por-favor

Também é sua obrigação, principalmente como novo usuário, de ler a descrição dos fóruns antes de postar. O assunto do seu tópico pode pertencer aos fóruns de interface gráfica (já que é uma dúvida é de Swing) ou persistência (se a dúvida fosse em ler os dados do banco), mas não ao de Java básico (que envolve geralmente a sintaxe básica da linguagem). Por isso, seu tópico foi movido.

Quanto à sua dúvida em específico: Fica bastante estranho mostrar chaves para o usuários em combos. O ideal é, ao invés de cadastrar Strings na sua combo, cadastrar objetos completos. Você não tem uma classe Funcionario no seu programa? Faça o seguinte:

  1. Sobrescreva o método toString() da classe funcionário para retornar o nome;
  2. Faça um método para carregar os funcionários que você quer colocar na combo, e te retornar um List<Funcionario>();
  3. Preencha suas combos com o funcionario diretamente;

Pronto. Agora sua combo tem funcionários dentro. E funcionários conhecem seu próprio Id. Será possível fazer:

Funcionario f = (Funcionario) combo.getSelectedItem(); new FuncionarioDao().salvar(f);[/quote]

Vini. Boa noite e me perdoe a demora. Olha eu tenho a classe funcionario sim, só que na tabela Departamento a FK está como Integer e não como String. O problema é na hora do evento do click do botão de salvar, onde se envia a informação para o firebird.
ou seja o jcombo não pode ficar aqui dentro deste metodo não?
Iguais aos outros (jtextfild)?

private void JBSalvarActionPerformed(java.awt.event.ActionEvent evt) { // acão do botão salvar

Departamento s = new Departamento();
Tratamento_Botoes();
// s.setDPICODG(Integer.parseInt(JTcodigo.getText()));

// s.setDPICGFN(Integer.parseInt(JTFuncionario.getText())); <------

s.setDPVNOME(JTDepartamento.getText());
s.setDPVSUP(JTSupervisor.getText());
DD.Inserir(s);// Inserir() é o metodo que consta na classe DAO, metodo de inserção dos dados no bd

}

Cara, por favor, use a tag code. Senão fica difícil ler o seu código.

Siga o que eu disse ali em cima. Você terá um objeto inteiro do funcionário, ou seja, seu DAO poderá usar o campo id para salvar no banco normalmente.