From 2f92b654003e27161399f7b0af55e23c590c5914 Mon Sep 17 00:00:00 2001 From: huangyuhui Date: Sat, 27 Jan 2018 16:25:41 +0800 Subject: [PATCH] installTooltip for java9 --- HMCL/src/main/java/org/jackhuang/hmcl/ui/FXUtils.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/FXUtils.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/FXUtils.java index e6937fac5..88835e084 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/FXUtils.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/FXUtils.java @@ -146,10 +146,19 @@ public final class FXUtils { public static void installTooltip(Node node, double openDelay, double visibleDelay, double closeDelay, Tooltip tooltip) { try { + // Java 8 call(construct(Class.forName("javafx.scene.control.Tooltip$TooltipBehavior"), new Duration(openDelay), new Duration(visibleDelay), new Duration(closeDelay), false), "install", node, tooltip); } catch (Throwable e) { - Logging.LOG.log(Level.SEVERE, "Cannot install tooltip by reflection", e); + try { + // Java 9 + call(tooltip, "setShowDelay", new Duration(openDelay)); + call(tooltip, "setShowDuration", new Duration(visibleDelay)); + call(tooltip, "setHideDelay", new Duration(closeDelay)); + } catch (Throwable e2) { + e.addSuppressed(e2); + Logging.LOG.log(Level.SEVERE, "Cannot install tooltip by reflection", e); + } Tooltip.install(node, tooltip); } }