Erro ao salvar datas no SQL Server - Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException

Bom dia Pessoal!

Sou novato no desenvolvimento java e gostaria de uma ajudinha de vocês. Criei um formulário de cadastro de funcionários, e nele cadastrei varias datas (Dt Nascimento, Admissao, Dt Resgistro, Dt Encerramento), porém, quando preencho os dados e clico no botão salvar, me é apresentado o seguinte erro:

Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException
	at java.sql.Date.valueOf(Date.java:143)
	at IntefaceGrafica.FormCadastroFuncionarios.jButtonSalvarActionPerformed(FormCadastroFuncionarios.java:965)
	at IntefaceGrafica.FormCadastroFuncionarios.access$200(FormCadastroFuncionarios.java:21)
	at IntefaceGrafica.FormCadastroFuncionarios$3.actionPerformed(FormCadastroFuncionarios.java:608)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
	at java.awt.Component.processMouseEvent(Component.java:6535)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
	at java.awt.Component.processEvent(Component.java:6300)
	at java.awt.Container.processEvent(Container.java:2236)
	at java.awt.Component.dispatchEventImpl(Component.java:4891)
	at java.awt.Container.dispatchEventImpl(Container.java:2294)
	at java.awt.Component.dispatchEvent(Component.java:4713)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
	at java.awt.Container.dispatchEventImpl(Container.java:2280)
	at java.awt.Window.dispatchEventImpl(Window.java:2750)
	at java.awt.Component.dispatchEvent(Component.java:4713)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
	at java.awt.EventQueue.access$500(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.awt.EventQueue$3.run(EventQueue.java:703)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.awt.EventQueue$4.run(EventQueue.java:731)
	at java.awt.EventQueue$4.run(EventQueue.java:729)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

No meu código criei uma classe de controle de funcionários que é responsável pela inserção dos dados:

public class ControleFuncionarios {
	ConectaBanco connFunc = new ConectaBanco();
	ConectaBanco connDate = new ConectaBanco();
	
	public void InserirFuncioanrios(ModeloFuncionarios modFunc) {
		connFunc.conexao();
		
		try {
			PreparedStatement pst = connFunc.conn.prepareCall("insert into [Cadastro de Funcionários](REG,cod,FUNÇÃO,SETOR,CENTRO DE CUSTO,"
				+ "SEXO,DATA NASCIMENTO,TURNO,DEMITIDO,NOME,ADMISSÃO,NumContaSal,Agbb,CodBanco,DtAbertura,DtEncerramento,DEMISSAO,"
				+ "CPF,IDENTIDADE,Ctps,Serie,PIS,Registro,Livro,DtRegistro,Empresa,Endereço,Bairro,Cidade,Cep,CodEscolaridade,Telefone Contato,"
				+ "Contato Extra,Observações)values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");                  
			
			pst.setInt(1,modFunc.getCod()); //Reg
			pst.setInt(2, modFunc.getCodGeral());
			pst.setInt(3,modFunc.getCodFuncao());
			pst.setInt(4,modFunc.getCodSetor());
			pst.setShort(5,modFunc.getCodCentroDeCusto());
			pst.setString(6,modFunc.getSexo());
			
			if(modFunc.getDataNascimento() != null) {
				java.sql.Date Nascimento = new java.sql.Date(modFunc.getDataNascimento().getTime());
				pst.setDate(7, Nascimento);
			} else {
				// pst.setNull(7, Types.DATE);
				JOptionPane.showMessageDialog(null,"Favor Preencher a Data de Nascimento!");
			}
			
			// pst.setDate(7,modFunc.getDataNascimento());
			pst.setString(8,modFunc.getTurno());
			pst.setBoolean(9, modFunc.getDemitido());
			pst.setString(10, modFunc.getNome());
			
			if(modFunc.getAdmissao() != null) {
				java.sql.Date Admissão = new java.sql.Date(modFunc.getAdmissao().getTime());
				pst.setDate(11, Admissão);
			} else {
				// pst.setNull(11, Types.DATE);
				JOptionPane.showMessageDialog(null,"Favor Preencher a Data de Admissão!");
			}
			
			// pst.setDate(11,modFunc.getAdmissao());
			pst.setString(12,modFunc.getNumConaSal());
			pst.setString(13,modFunc.getAgbb());
			pst.setInt(14,modFunc.getCodBanco());
			
			if(modFunc.getDtAbertura()!= null) {
				java.sql.Date DtAbetura = new java.sql.Date(modFunc.getDtAbertura().getTime());
				pst.setDate(11, DtAbetura);
			} else {
				// pst.setNull(15, Types.DATE);
				JOptionPane.showMessageDialog(null,"Favor Preencher a Data de Abertura!");
			}
			
			// pst.setDate(15,modFunc.getDtAbertura());
			
			if(modFunc.getDtencerramento()!= null) {
				java.sql.Date DtEncerramento = new java.sql.Date(modFunc.getDtencerramento().getTime());
				pst.setDate(11, DtEncerramento);
			} else {
				pst.setNull(16, Types.DATE);
				// JOptionPane.showMessageDialog(null,"Favor Preencher a Data de Encerramento!");
			}
			
			// pst.setDate(16,modFunc.getDtencerramento());
			
			if(modFunc.getDtDemissao()!= null) {
				java.sql.Date DtDemissao = new java.sql.Date(modFunc.getDtDemissao().getTime());
				pst.setDate(11, DtDemissao);
			} else {
				pst.setNull(17, Types.DATE);
				// JOptionPane.showMessageDialog(null,"Favor Preencher a Data de Demissão!");
			}
			
			// pst.setDate(17,modFunc.getDtDemissao());
			pst.setString(18,modFunc.getCpf());
			pst.setString(19,modFunc.getIdentidade());
			pst.setString(20,modFunc.getCtps());
			pst.setString(21,modFunc.getSerie_Ctps());
			pst.setString(22,modFunc.getPis());
			pst.setString(23,modFunc.getRegistro());
			pst.setString(24,modFunc.getLivro());
			
			if(modFunc.getDtRegistro()!= null) {
				java.sql.Date DtRegistro = new java.sql.Date(modFunc.getDtRegistro().getTime());
				pst.setDate(11, DtRegistro);
			} else {
				// pst.setNull(25, Types.DATE);
				JOptionPane.showMessageDialog(null,"Favor Preencher a Data de Registro!");
			}
			
			// pst.setDate(25,modFunc.getDtRegistro());
			pst.setString(26,modFunc.getEmpresa());
			pst.setString(27,modFunc.getEndereco());
			pst.setString(28,modFunc.getBairro());
			pst.setString(29,modFunc.getCidade());
			pst.setString(30,modFunc.getCep());
			pst.setInt(31,modFunc.getCodEscolaridade());
			pst.setString(32,modFunc.getTelContato());
			pst.setString(33,modFunc.getContatoExtra());
			pst.setString(34,modFunc.getObservacoes());
			pst.execute();
			
			JOptionPane.showMessageDialog(null,"Dados armazenados com sucesso!");
		} catch (SQLException ex) {
			JOptionPane.showMessageDialog(null,"Erro na inserção dos dados. \nErro!"+ ex);
			connFunc.desconecta();
		}
	}

Esse é o código do botão salvar:

private void jButtonSalvarActionPerformed(java.awt.event.ActionEvent evt) {
	// TODO add your handling code here:
	
	try {
		modFunc.setCod(Integer.parseInt(jTextFieldNCracha.getText()));
		connFuncao.executaSQL("Select * from CadFunçao where Funçao='" + jComboBoxFuncao.getSelectedItem()+"'");
		connFuncao.rs.first();
		modFunc.setCodFuncao(connFuncao.rs.getInt("CodFunçao"));
		connSetor.executaSQL("Select * from CadSetor where Setor='" + jComboBoxSetor.getSelectedItem() +"'");
		connSetor.rs.first();
		modFunc.setCodSetor((connSetor.rs.getInt("CodSetor")));
		connCentroCusto.executaSQL("select * from CadCentroDeCustoFunc where CentroDeCustoFunc='" + jComboBoxCentroDeCusto.getSelectedItem()+"'");
		connCentroCusto.rs.first();
		modFunc.setCodCentroDeCusto(connCentroCusto.rs.getShort("CodCentroDeCustoFunc"));  
		connFuncionario.executaSQL("select * from [Cadastro de Funcionários] where SEXO='" + jComboBoxSexo.getSelectedItem()+"'");
		connFuncionario.rs.first();
		modFunc.setSexo(connFuncionario.rs.getString("Sexo"));
		modFunc.setDataNascimento(Date.valueOf(jTextFieldDataNascimento.getText()));
		modFunc.setDtAbertura(Date.valueOf(jTextFieldDtAbertura.getText()));
		modFunc.setTurno(connFuncionario.rs.getString("TURNO"));            
		modFunc.setDemitido(connFuncionario.rs.getBoolean("DEMITIDO"));          
		modFunc.setNome(connFuncionario.rs.getString("NOME"));
		modFunc.setAdmissao(Date.valueOf(jTextFieldEntrevista.getText()));
		modFunc.setNumConaSal(connFuncionario.rs.getString("NumContaSal"));
		modFunc.setAgbb(connFuncionario.rs.getString("AgBB"));          
		modFunc.setDtencerramento(Date.valueOf(jTextFieldDtEncerramento.getText()));
		modFunc.setDtDemissao(Date.valueOf(jTextFieldDtDemissao.getText()));      
		modFunc.setCpf(connFuncionario.rs.getString("CPF"));
		modFunc.setIdentidade(connFuncionario.rs.getString("IDENTIDADE"));
		modFunc.setCtps(connFuncionario.rs.getString("CTPS"));
		modFunc.setSerie_Ctps(connFuncionario.rs.getString("Serie"));
		modFunc.setPis(connFuncionario.rs.getString("PIS"));
		modFunc.setRegistro(connFuncionario.rs.getString("Registro"));
		modFunc.setLivro(connFuncionario.rs.getString("Livro"));
		modFunc.setDtRegistro(Date.valueOf(jTextFieldDtRegistro.getText()));       
		modFunc.setEmpresa(connFuncionario.rs.getString("Empresa"));
		modFunc.setEmpresa(connFuncionario.rs.getString("ENDEREÇO"));
		modFunc.setCodGeral(connFuncionario.rs.getInt("Cod"));
		modFunc.setBairro(connFuncionario.rs.getString("BAIRRO"));
		modFunc.setCidade(connFuncionario.rs.getString("CIDADE"));
		modFunc.setCep(connFuncionario.rs.getString("CEP"));           
		connEscolaridade.executaSQL("select * from CadFuncEscolarid where Escolaridade="+connFuncionario.rs.getInt("CodEscolarid")); 
		connEscolaridade.rs.previous();
		modFunc.setEscolaridadeLink(connEscolaridade.rs.getString("CodEscolarid"));       
		modFunc.setTelContato(connFuncionario.rs.getString("TELEFONE CONTATO"));
		modFunc.setContatoExtra(connFuncionario.rs.getString("CONTATO EXTRA"));
		modFunc.setObservacoes(connFuncionario.rs.getString("OBSERVAÇÕES")); 
		Control.InserirFuncioanrios(modFunc);
	} catch (SQLException ex) {
		JOptionPane.showMessageDialog(rootPane,"Funcionário cadastrado com sucesso!");
	}
}

Quando executo o formulário e clico em salvar o erro é indicado nesta linha, porem já não sei mais o que fazer. Por isso peço a ajuda de vocês.

Linha 965 = modFunc.setDataNascimento(Date.valueOf(jTextFieldDataNascimento.getText()));

Linha 142 = if (d == null) {
Linha 143 = throw new java.lang.IllegalArgumentException();
}
Linha 146 = return d;

Muito obrigado!