// timer for GeoGebraExam private FlowPanel getTimer() { final Label timer = new Label(); timer.getElement().setClassName("timer"); timer.getElement().setId("timer"); timer.getElement().setPropertyBoolean("started", false); // https://groups.google.com/forum/#!msg/google-web-toolkit/VrF3KD1iLh4/-y4hkIDt5BUJ AnimationScheduler.get() .requestAnimationFrame( new AnimationCallback() { @Override public void execute(double timestamp) { if (app.getExam().isCheating()) { makeRed(getElement()); } timer.setText(app.getExam().timeToString(System.currentTimeMillis())); AnimationScheduler.get().requestAnimationFrame(this); } }); visibilityEventMain(); FlowPanel fp = new FlowPanel(); fp.add(timer); Image info = new Image(GuiResourcesSimple.INSTANCE.dialog_info().getSafeUri()); fp.add(info); info.getElement().getStyle().setMarginLeft(5, Unit.PX); fp.addDomHandler( new ClickHandler() { public void onClick(ClickEvent event) { app.showMessage(app.getExam().getLog(app.getLocalization())); } }, ClickEvent.getType()); return fp; }