Insert como chave estrangeira

Boa noite ,
Estou com dificuldade para finalizar um Crud com chave estrangeira não consigo chamar o mesmo na tela , só consegui chegar ate esse ponto , A chave estrangeira que pega .

FuncionarioDao :

package dao;

import conexoes.ConexoesMySql;
import static dao.ClienteDao.dataNascimento;
import static dao.ClienteDao.pst;
import java.awt.HeadlessException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;
import model.Funcionario;
import view.frmCliente;
import view.frmFuncionario;

public class FuncionarioDao {

Connection conexao = null;
PreparedStatement pst = null;
ResultSet rs = null;

public FuncionarioDao(){

    conexao = ConexoesMySql.conectar();

}

public void Adicionar(Funcionario f){
String sql = “Insert into servico (cargo_funcionario,departamento_funcionario,salario_funcionario,ctps_funcionario,seriectps_funcionario,pispasep_funcionario,uf_ctps_funcionario,datacontrato_funcionario,datasaida_funcionario,titulo_eleitor_funcionario,zona_funcionario,secao_funcionario,nome_pai_funcionario,nome_mae_funcionario,estado_civil_funcionario,qtde_filhos_funcionario,observacoes) Values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)”;

 try {
      pst = conexao.prepareStatement(sql);
      pst.setInt(1,f.getCodigo_funcionario());
       pst.setString(2,f.getCargo_funcionario());
       pst.setString(3,f.getDepartamento_funcionario());
       pst.setString(4,f.getSalario_funcionario());
       pst.setString(5,f.getCtps_funcionario());
       pst.setString(6,f.getSeriectps_funcionario());
       pst.setString(7,f.getPispasep_funcionario());
       pst.setString(8,f.getUf_ctps_funcionario());
       
       
        String dia  = f.getDatacontratacao_funcionario().substring(0,2);
        String mes  = f.getDatacontratacao_funcionario().substring(3,5);
        String ano  = f.getDatacontratacao_funcionario().substring(6);
        String dataParaMysql = ano+"-"+mes+"-"+dia;
        pst.setString(9, dataParaMysql); 
        
        
        String dia1  = f.getDatasaida_funcionario().substring(0,2);
        String mes1  = f.getDatasaida_funcionario().substring(3,5);
        String ano1  = f.getDatasaida_funcionario().substring(6);
        String dataParaMysql1 = ano+"-"+mes+"-"+dia;
        
       pst.setString(10, dataParaMysql1); 
       pst.setString(11,f.getTitulo_eleitor_funcionario());
       pst.setString(12,f.getZona_funcionario());
       pst.setString(13,f.getSecao_funcionario());
       pst.setString(14,f.getNome_pai_funcionario());
       pst.setString(15,f.getNome_mae_funcionario());
       pst.setString(16,f.getEstado_civil_funcionario());
       pst.setString(17,f.getQtde_filhos_funcionario());
       pst.setString(18,f.getObservacoes());
       pst.setInt(19, f.getPessoa().getCodigo_pessoa());
       pst.executeUpdate();
       
           } catch (Exception e) {
       JOptionPane.showMessageDialog(null, e);
           }


       }

}

Funcionário :

public class Funcionario {
private int codigo_funcionario;
private String cargo_funcionario;
private String departamento_funcionario;
private String Salario_funcionario;
private String ctps_funcionario;
private String seriectps_funcionario;
private String pispasep_funcionario;
private String uf_ctps_funcionario;
private String datacontratacao_funcionario;
private String datasaida_funcionario;
private String titulo_eleitor_funcionario;
private String zona_funcionario;
private String secao_funcionario;
private String nome_pai_funcionario;
private String nome_mae_funcionario;
private String estado_civil_funcionario;
private String qtde_filhos_funcionario;
private String observacoes;
private Pessoa pessoa;

public int getCodigo_funcionario() {
    return codigo_funcionario;
}

public void setCodigo_funcionario(int codigo_funcionario) {
    this.codigo_funcionario = codigo_funcionario;
}

public String getCargo_funcionario() {
    return cargo_funcionario;
}

public void setCargo_funcionario(String cargo_funcionario) {
    this.cargo_funcionario = cargo_funcionario;
}

public String getDepartamento_funcionario() {
    return departamento_funcionario;
}

public void setDepartamento_funcionario(String departamento_funcionario) {
    this.departamento_funcionario = departamento_funcionario;
}

public String getSalario_funcionario() {
    return Salario_funcionario;
}

public void setSalario_funcionario(String Salario_funcionario) {
    this.Salario_funcionario = Salario_funcionario;
}

public String getCtps_funcionario() {
    return ctps_funcionario;
}

public void setCtps_funcionario(String ctps_funcionario) {
    this.ctps_funcionario = ctps_funcionario;
}

public String getSeriectps_funcionario() {
    return seriectps_funcionario;
}

public void setSeriectps_funcionario(String seriectps_funcionario) {
    this.seriectps_funcionario = seriectps_funcionario;
}

public String getPispasep_funcionario() {
    return pispasep_funcionario;
}

public void setPispasep_funcionario(String pispasep_funcionario) {
    this.pispasep_funcionario = pispasep_funcionario;
}

public String getUf_ctps_funcionario() {
    return uf_ctps_funcionario;
}

public void setUf_ctps_funcionario(String uf_ctps_funcionario) {
    this.uf_ctps_funcionario = uf_ctps_funcionario;
}

public String getDatacontratacao_funcionario() {
    return datacontratacao_funcionario;
}

public void setDatacontratacao_funcionario(String datacontratacao_funcionario) {
    this.datacontratacao_funcionario = datacontratacao_funcionario;
}

public String getDatasaida_funcionario() {
    return datasaida_funcionario;
}

public void setDatasaida_funcionario(String datasaida_funcionario) {
    this.datasaida_funcionario = datasaida_funcionario;
}

public String getTitulo_eleitor_funcionario() {
    return titulo_eleitor_funcionario;
}

public void setTitulo_eleitor_funcionario(String titulo_eleitor_funcionario) {
    this.titulo_eleitor_funcionario = titulo_eleitor_funcionario;
}

public String getZona_funcionario() {
    return zona_funcionario;
}

public void setZona_funcionario(String zona_funcionario) {
    this.zona_funcionario = zona_funcionario;
}

public String getSecao_funcionario() {
    return secao_funcionario;
}

public void setSecao_funcionario(String secao_funcionario) {
    this.secao_funcionario = secao_funcionario;
}

public String getNome_pai_funcionario() {
    return nome_pai_funcionario;
}

public void setNome_pai_funcionario(String nome_pai_funcionario) {
    this.nome_pai_funcionario = nome_pai_funcionario;
}

public String getNome_mae_funcionario() {
    return nome_mae_funcionario;
}

public void setNome_mae_funcionario(String nome_mae_funcionario) {
    this.nome_mae_funcionario = nome_mae_funcionario;
}

public String getEstado_civil_funcionario() {
    return estado_civil_funcionario;
}

public void setEstado_civil_funcionario(String estado_civil_funcionario) {
    this.estado_civil_funcionario = estado_civil_funcionario;
}

public String getQtde_filhos_funcionario() {
    return qtde_filhos_funcionario;
}

public void setQtde_filhos_funcionario(String qtde_filhos_funcionario) {
    this.qtde_filhos_funcionario = qtde_filhos_funcionario;
}

public String getObservacoes() {
    return observacoes;
}

public void setObservacoes(String observacoes) {
    this.observacoes = observacoes;
}

public Pessoa getPessoa() {
    return pessoa;
}

public void setPessoa(Pessoa pessoa) {
    this.pessoa = pessoa;
}

}

Frmfuncionario - aida nao coloquei nd :

private void btnIncluirActionPerformed(java.awt.event.ActionEvent evt) {

}