cara, acho que consegui achar a solução pro seu problema!!!
Fiz um exemplo no netbeans e saiu algo mais ou menos assim:
jCalendar1.setName("jCalendar1"); //AQUI SERIA A DECLARAÇÃO DO CALENDARIO
/*AQUI VC PODE ADD ESSE EVENTO*/
jCalendar1.addPropertyChangeListener(new java.beans.PropertyChangeListener() {//GERA A AÇÃO PRA TROCA DE PROPRIEDADE
public void propertyChange(java.beans.PropertyChangeEvent evt) { //GERA EVENTO
jCalendar1PropertyChange(evt); //CHAMA O MÉTODO CONTENDO A ROTINA
}
});
essa seria a parte onde foi declarado o seu calendário, daí vc adiciona esse evento que chamará esse médoto:
private void jCalendar1PropertyChange(java.beans.PropertyChangeEvent evt) {
SimpleDateFormat formato = new SimpleDateFormat("dd/MM/yyyy"); //DEFINE FORMATO DE DATA
String data = formato.format(jCalendar1.getDate()); //CONVERTE PRA STRING
JOptionPane.showMessageDialog(null, data); //EXIBE O CALENDARIO QUANDO CARREGADO E A CADA TROCA DE DATA, MÊS OU ANO
/*AGORA TROCANDO ESSE JOptionPane ACIMA, VC PODE COLOCAR O JTextFeld COMO NO EXEMPLO ABAIXO: */
campoTexto.setText(data);
}
Blz cara, testei aqui, o único problema é que não funciona em duplo clique, apenas um.
espero ter ajudado e se o meu exemplo ajudou ou não, posta aí blz?
flw abrax