В настоящее время я работаю над формой, которая имеет функцию проверки при смене фокуса с одного узла на другой, и хочу отобразить всплывающую подсказку с центром над узлом, содержащим ошибку, если таковая существует. Я использую подпись метода show(Node ownerNode, double anchorX, double anchorY)
в подсказке, чтобы указать, к какому узлу я хочу присоединить его и где его разместить.
Я пробовал следующий код:
Tooltip tooltip = new Tooltip("Error");
tooltip.show(node, 0, 0);
double tooltipMiddle = tooltip.getWidth() / 2;
tooltip.hide();
double nodeMiddle = node.getWidth() / 2;
//Gets the node's x and y position within the window
Bounds bounds = node.localToScene(node.getBoundsInLocal());
//Tooltip's bottom-right corner is set to the anchor points, so I set x to
//the node's x coordinate plus half the width of the node plus half the width
//of the tooltip
tooltip.show(node,
bounds.getMinX() + nodeMiddle + tooltipMiddle, bounds.getMinY());
Это привело меня очень близко к центру, но он все еще выключен. Я был в интернете, пытаясь найти помощь, но я просто не нахожу ее, поэтому я решил спросить здесь.
Есть ли шанс, что я смогу понять, почему я не могу заставить это работать так, как мне бы хотелось?