gpt4 book ai didi

java - 如何控制 JavaFX Tooltip 的延迟?

转载 作者:IT老高 更新时间:2023-10-28 21:09:42 32 4
gpt4 key购买 nike

我在玩JavaFX's Tooltip .我意识到,对我个人而言,将鼠标悬停在某物上与实际出现的工具提示之间的延迟太长了。 API 的外观显示:

Typically, the tooltip is "activated" when the mouse moves over a Control. There is usually some delay between when the Tooltip becomes "activated" and when it is actually shown. The details (such as the amount of delay, etc) is left to the Skin implementation.

经过进一步调查,我无法找到任何控制延迟的可能性。 JavaFX CSS Reference没有关于延迟时间的信息,并且 getCssMetaData() 的运行时评估也没有帮助。

我知道有一种方法可以通过 onMouseEntered(...)onMouseExited(...) 手动控制工具提示,但真的没有其他方法吗方法?还是我错过了一个明显的解决方案?

最佳答案

我通过反射使用下一个技巧

public static void hackTooltipStartTiming(Tooltip 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(250)));
} catch (Exception e) {
e.printStackTrace();
}
}

关于java - 如何控制 JavaFX Tooltip 的延迟?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26854301/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com