Vaadin 6 focusListener

Hola necesito ayuda con focusListener.
He buscado pero nada me funciona.

tf.addListener(new BlurListener() {

        public void blur(BlurEvent event) {
			try {
				
				String cantHoras = tf.getValue().toString();
				String max = HrdataApplication.getGlobalProperty("maximoValorHora").toString();
				
				if (cantHoras.length()==5 && new TimeFormatValidatorMaxHours("", max).isValid(cantHoras)) {
					dateLayout.removeComponent(toDate);
					Date from = (Date) fromDate.getValue();
					Calendar fechaHora = Calendar.getInstance();
					fechaHora.setTime(from);
					String hora =cantHoras.substring(0, 2);
					String minuto = cantHoras.substring(3, 5);
					fechaHora.add(Calendar.HOUR, Integer.parseInt(hora));
					fechaHora.add(Calendar.MINUTE, Integer.parseInt(minuto));
						
					toDate = new DateField(TM2.bind("app.toDate"));
					toDate.setInputPrompt(TM2.bind("app.toDate"));
					toDate.setResolution(PopupDateField.RESOLUTION_SEC);
					toDate.setImmediate(true);
					toDate.setDateFormat(TM2.bind("app.timestampFormat"));
					toDate.setValue(fechaHora.getTime());
					toDate.setReadOnly(true);	
					dateLayout.addComponent(toDate);
				}else {
					dateLayout.removeComponent(tf);
					tf.setValue(dftDisableTime);
					dateLayout.addComponent(tf);
					Date from = (Date) fromDate.getValue();
					Calendar fechaHora = Calendar.getInstance();
					fechaHora.setTime(from);
					
					String hora =tf.getValue().toString().substring(0, 2);
					String minuto = tf.getValue().toString().substring(3, 5);
					fechaHora.add(Calendar.HOUR, Integer.parseInt(hora));
					fechaHora.add(Calendar.MINUTE, Integer.parseInt(minuto));
						
					dateLayout.removeComponent(toDate);
					toDate = new DateField(TM2.bind("app.toDate"));
					toDate.setInputPrompt(TM2.bind("app.toDate"));
					toDate.setResolution(PopupDateField.RESOLUTION_SEC);
					toDate.setImmediate(true);
					toDate.setDateFormat(TM2.bind("app.timestampFormat"));
					toDate.setValue(fechaHora.getTime());
					toDate.setReadOnly(true);	
					dateLayout.addComponent(toDate);
				}
				
				
			}catch(Exception e) {
				
			}
			
		}

		});
		
		
		Necesito que cuando mi tf pierda el foco me calcule una nueva fecha.
		Gracias..

Hola!
El problema es que estás usando: tf.addListener(new BlurListener() {...}, y la realidad es que deberías usar tf.addBlurListener(new BlurListener() {...}
Saludos!