I have a TextField
for which I want a Tooltip
to be shown under some circumstances.
After performing checks I run the followig code:
textFieldUsername.setTooltip(new Tooltip("Enter username!"));
textFieldUsername.getTooltip().setAutoHide(true);
textFieldUsername.getTooltip().show(textFieldUsername, 1, 1);
So when somebody tries to login with empty username he gets a prompting Tooltip
over the "username" TextField
.
But when it comes to action, the Tooltip
pops up in the top left corner of the screen.
Should I calculate coords of my scene, then add my TextField
coords to them, or there is a way to set these 1, 1
arguments from the call of show()
to be relative to the TextField
position?
I think the coordinates are always relative to the screen. To calculate component coordinates you need to incorporate scene and window coordinates.
Point2D p = label.localToScene(0.0, 0.0);
label.getTooltip().show(label,
p.getX() + label.getScene().getX() + label.getScene().getWindow().getX(),
p.getY() + label.getScene().getY() + label.getScene().getWindow().getY());