package com.kodcu.service.ui; import javafx.animation.KeyFrame; import javafx.animation.Timeline; import javafx.scene.control.Tooltip; import javafx.util.Duration; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; import java.lang.reflect.Field; /** * Created by usta on 25.01.2015. */ @Component public class TooltipTimeFixService { private final Logger logger = LoggerFactory.getLogger(TooltipTimeFixService.class); public void fix() { Tooltip tooltip = new Tooltip(); try { Field fieldBehavior = tooltip.getClass().getDeclaredField("BEHAVIOR"); fieldBehavior.setAccessible(true); Object objBehavior = fieldBehavior.get(tooltip); Field fieldTimer = objBehavior.getClass().getDeclaredField("activationTimer"); fieldTimer.setAccessible(true); Timeline objTimer = (Timeline) fieldTimer.get(objBehavior); objTimer.getKeyFrames().clear(); objTimer.getKeyFrames().add(new KeyFrame(new Duration(600))); } catch (Exception e) { logger.debug("Problem occured while fixing tooltip time, but dont worry", e); } } }