Tenho uma tela onde consulto dados do curso de uma tabela do Banco de dados e na tela tenho um comboBox que o usuário seleciona qual curso ele quer consultar e na ação dele clicar no item do comboBox aparece os dados do curso, isso está funcionando, mas quando ele selecionar o item null do comboBox os dados tem que ser limpos, mas não tá limpando. Segue o código do comboBox.
if(cbCurso.getSelectedItem()!=null) {
	String selecao = (String) (cbCurso.getSelectedItem());
	tfNome.setText(selecao);
					
	ResultSet res1 = inserir.executarBusca("select CursoSigla from curso where CursoNome = '"+selecao+"'");
					
	ResultSet res2 = inserir.executarBusca("select CursoNivel from curso where CursoNome = '"+selecao+"'");
					
	ResultSet res3 = inserir.executarBusca("select CursoTurno from curso where CursoNome = '"+selecao+"'");
					
	try {
						
		while(res1.next()) {
			tfSigla.setText(res1.getString("CursoSigla"));
		}
						
		while(res2.next()) {
							
			curso.setNivel(res2.getString("CursoNivel"));
							
			if (res2.getString("CursoNivel").charAt(0) == 'S') {
				tfNivel.setText("Subsequente");
			}else if (res2.getString("CursoNivel").charAt(0) == 'G') {
				tfNivel.setText("Graduação");
			}
							
		}
						
		while(res3.next()) {
			if(res3.getString("CursoTurno").charAt(0)=='M'){
				tfTurno.setText("Manhã");
			}else if(res3.getString("CursoTurno").charAt(0)=='T') {
				tfTurno.setText("Tarde");
			}else if(res3.getString("CursoTurno").charAt(0)=='N') {
				tfTurno.setText("Noite");
			}
		}
						
	} catch (Exception e1) {
		e1.printStackTrace();
	}finally {
		if(cbCurso.getSelectedItem()==null) {
			tfNome.setText(null);
			tfSigla.setText(null);
			tfNivel.setText(null);
			tfTurno.setText(null);
		}
	}
}
OBS: O unico componente que está sendo limpo é o tfNome, e como ele é o unico que não recebe do ResultSet então deduzi que o problema é limpar ele.
Estou usando o eclipse e o postgreSQL
